Удаленный EJB с EclipseLink и Glassfish не работает должным образом, когда вы пытаетесь вернуть сущность.
То же самое для Hibernate, вам нужно удалить все прокси перед возвратом вашего ответа.С Hibernate, вам нужно очистить и очистить свой постоянный контекст перед удалением прокси.Если не загружен, установите ноль в атрибут.Вы можете заставить его работать с перехватчиком Java EE.
Но EclipseLink не работает как Hibernate.Даже если вы очистите свой контекст постоянства, атрибут get / set для lazy попытается извлечь.Даже вне сделки.
Если вы установите свойство name = "eclipselink.weaving" value = "false", оно будет работать, потому что EclipseLink не изменит байт-код вашего класса POJO, но ManyToOne всегда будет выбираться.Таким образом, он может загрузить базу данных в память.
Единственный способ решить эту проблему - использовать DTO или Hibernate с перехватчиком.
EDIT: Вы всегда можете переопределить сериализацию объекта с помощью интерфейса Externalization.Получите объект за полем, чтобы убедиться, что отложенная выборка не применяется.
Похоже, Openjpa также использует метод ткачества по умолчанию.http://openjpa.apache.org/entity-enhancement.html