|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre chevronné
![]() ![]() Etudiant Ingénieur Inscription : octobre 2007 Messages : 478 ![]() |
J'utilise des JPA dans une application qui comprennent des champs en mode FETCH LAZY.
Or ces JPA seront utilisés à travers des remotes bean mais dans ce cas, à travers le web, les JPA seront détachés de l'EntityManager qui feront qu'à distance, je ne pourrai récupérer les Lazy Collections. Quelle est la meilleure façon de gérer ça? Créer deux méthodes distinctes dans mon EJB? Une permettant de recevoir une instance JPA sans les collections chargées, et une avec les collections? |
|
|
00
|
|
|
#2 | |
![]() ![]() Ingénieur développement logiciels Inscription : juin 2007 Messages : 2 738 ![]() |
Citation:
|
|
|
|
10
|
|
|
#3 |
![]() ![]() Inscription : août 2006 Messages : 2 957 ![]() |
A priori oui, tu vas etre obligé de précharger tes collections, si tu veux que ton objet disant puisse y accéder.
Par défaut je laisse les collections en lazy, et je fais des méthodes permettant de charger les collections dont j'ai besoin. |
|
|
10
|
|
|
#4 |
|
Membre chevronné
![]() ![]() Etudiant Ingénieur Inscription : octobre 2007 Messages : 478 ![]() |
Merci.
J'ai sinon trouvé une méthode (de feignante) pour Hibernate. Dans le fichier persistence.xml, si on ajoute la ligne : Code :
<property name="hibernate.enable_lazy_load_no_trans" value="true"/> J'ai une question un peu hors-sujet mais je ne trouve l'information nulle part. Lorsque Hibernate instancie une Entity, passe-t-il par les setters? ou directement par les attributs? De meme lorsqu'il met à jour l'entity dans la base de données, passe-t-il par les getters? |
|
|
00
|
|
|
#5 |
![]() ![]() Inscription : août 2006 Messages : 2 957 ![]() |
Je ne suis pas convaincu par l'utilisation de cette propriété, après à toi de voir.
|
|
|
10
|
|
|
#6 | |
![]() ![]() Ingénieur développement logiciels Inscription : juin 2007 Messages : 2 738 ![]() |
Citation:
|
|
|
|
00
|
|
|
#7 |
|
Membre chevronné
![]() ![]() Etudiant Ingénieur Inscription : octobre 2007 Messages : 478 ![]() |
fr1man, pourquoi?
DevServlet, merci. Code :
access (optionnel - par défaut = property) : La stratégie qu'Hibernate doit utiliser pour accéder à la propriété. |
|
|
00
|
|
|
#8 | |
![]() ![]() Inscription : août 2006 Messages : 2 957 ![]() |
Voila ce que j'ai trouvé :
Citation:
|
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com