У меня есть служба, которая получает объект JPA из внешнего кода. В этой службе я хотел бы перебрать лениво загруженную коллекцию, которая является атрибутом этой сущности, чтобы увидеть, добавил ли клиент что-то к ней относительно текущей версии в базе данных.
Однако клиент, возможно, никогда не касался коллекцию, поэтому она еще не инициализирована. Это приводит к хорошо известному
org.hibernate.LazyInitializationException: не удалось лениво инициализировать коллекцию роли: com.example.SomeEntity.
Конечно, если клиент никогда не касался коллекции, моя служба не имеет чтобы проверить возможные изменения. Дело в том, что я не могу найти способ проверить, инициализирована ли коллекция или нет. Думаю, я мог бы вызвать для него size ()
, и если он выдаст LazyInitializationException
, я бы знал, но я стараюсь не зависеть от таких шаблонов.
Есть ли isInitialized ()
где-то метод?