Bonjour,
J'utilise JPA avec Hibernate. Après avoir récupéré un objet tiré de la BDD, j'essaie d'accéder à une propriété chargé en lazy. Il devrait me charger naturellement l'objet demandé (exécution d'une requête en BDD pour charger l'objet en lazy).
Sauf que dans mon cas il me génère bien cette requête mais cette dernière ne porte pas sur une table mais sur l'ensemble des tables liés à l'objet à charger (et en cascade d'ailleurs). Du coup, je me retrouve avec une requête longue à exécuter et des données chargées inutiles dans mon traitement.
Explication : j'ai 4 objets : A1, A2, A3, A4. Chacun est lié à son prédécesseur. On accède à A4 à partir de A1 en passant par A2, puis A3. C'est-à-dire A1 => A2 => A3 => A4. Si je charge mon objet A1 et que j'accède à A2, il me génère automatiquement une requête qui me récupère A2, A3 et A4.
Pour précision, il n'y a pas de cascade, il n'y a pas de EAGER non plus. J'ai tenté de forcer les relations avec les lazy (indiqué explicitement) mais je me retrouve alors avec des problème de Javassist. Je ne souhaite pas non plus les charger directement dans la requête principale.
Ma question est de savoir comment paramétrer les chargement lazy pour qu'il n'opère que sur l'objet demandé
Partager