AddressImageDO.ktAddressDO pour des raisons de performance — les images sont chargées uniquement à la demande via des requêtes nommées.
Cette entité Kotlin a été extraite de AddressDO (commit f99817436) pour améliorer les performances grâce au
chargement paresseux. Aspects clés de la conception :
T_ADDRESS_IMAGE, mappée au parent AddressDO via un @OneToOne avec FetchType.LAZY.image (pleine taille) et imagePreview (miniature) sont toutes deux annotées avec @Basic(fetch = FetchType.LAZY), empêchant le chargement des données BLOB lourdes dans les vues en liste. Les requêtes nommées SELECT_WITHOUT_IMAGES et SELECT_IMAGE_ONLY permettent une récupération sélective.ImageType (JPG, GIF, PNG) stocké sous forme de chaîne de 5 caractères.address utilise @JsonSerialize(using = IdOnlySerializer::class) — lors de la sérialisation en JSON (API REST), seul address.id est émis, évitant la sérialisation circulaire et les graphes d'objets profonds.@Indexed n'est pas présente sur cette entité, ce qui implique que les images d'adresse sont indexées implicitement via leur parent AddressDO (qui est enregistré dans l'index de recherche en texte intégral).| Requête | Objectif |
|---|---|
SELECT_WITHOUT_IMAGES |
Récupérer les métadonnées de l'image (ID, type, dernière mise à jour) sans les données BLOB — utilisé dans les vues en liste |
SELECT_IMAGE_ONLY |
Récupérer le BLOB de l'image complète — utilisé pour le téléchargement d'image |
SELECT_IMAGE_PREVIEW_ONLY |
Récupérer le BLOB de l'aperçu/miniature — utilisé pour les vues galerie |
DELETE_ALL_IMAGES_BY_ADDRESS_ID |
Supprimer en masse toutes les images d'une adresse — utilisé lors de la suppression d'une adresse |
L'entité prend en charge la gestion des images CardDAV (commit c5b4b738b), rendant les photos d'adresse disponibles via le protocole CardDAV avec les données vCard.
868d6abb7 2025 -> 2026 63081666f En-têtes des fichiers source : 2024 -> 2025. 0237d5eba Sérialisation JSON refactorisée : introduction de IdOnlySerializer et IdsOnlySerializer. 2bcdfbbc6 WIP : stockage du carnet d'ordres. 943947aaa Adresses : support du gif et du jpeg (également pour le serveur carddav). c5b4b738b WIP : Serveur CardDav, gestion des images. d6ad9ea38 Travail de migration en cours... 66ec668f6 Travail de migration en cours... e33c8b9c2 Travail de migration en cours... 06828f490 Travail de migration en cours... b6092df09 Copyright 2023 -> 2024 ab45d51fa Copyright 2001-2022 -> 2001-2023. 5f7ef41b8 Copyright 2021 -> 2022 f54103172 AddressDao.forceDelete fonctionne désormais aussi si des images étaient fournies. ceb63e8a1 En-tête du code source : (C) 2001-2021. ae182f8a1 Problème Github #135, optimisation des performances avec JProfiler. f99817436 Images des adresses désormais dans une entité séparée. Améliore les performances grâce au chargement paresseux. 7c79f1922 Copyright de l'en-tête source -> 2020. af35917ac Plus de nettoyage de code ca5a7c00f Optimiser les imports 05244ff19 Copyright de tous les en-têtes de fichiers Kotlin mis à jour ou créés. da6eec0f6 AddressAttrDataDO.java -> AddressAttrDataDO.kt 9ebb88522 Commit initial