J'ai un service qui obtient une entité JPA de code externe. Dans ce service, je voudrais parcourir une collection chargée paresseusement qui est un attribut de cette entité pour voir si le client a ajouté quelque chose par rapport à la version actuelle dans la base de données. Cependant, le client n'a peut-être jamais touché la collection, ce qui fait qu'elle n'est toujours pas initialisée. Cela se traduit par le bien connuComment tester si la collection JPA chargée paresseuse est initialisée?
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.example.SomeEntity.
Bien sûr, si le client n'a jamais touché la collection, mon service ne doit pas vérifier les changements possibles. Le fait est que je n'arrive pas à trouver un moyen de tester si la collection est initialisée ou non. Je suppose que je pourrais appeler size()
dessus et s'il lance LazyInitializationException
je le saurais, mais j'essaye de ne pas dépendre de tels modèles.
Existe-t-il une méthode isInitialized()
quelque part?
Vous avez raison, merci! J'ai oublié de vérifier au débordement de la pile, donc désolé pour l'acceptation tardive. – akira