Спящий режим: В соответствии с идентификатором сущность возвращается с атрибутами null или false

#java #hibernate #jpa

Вопрос:

У меня есть проблема, и я не понимаю, как ее решить.

У меня есть сущность.

Когда я выполняю вызов findOne() с моим репозиторием для некоторых идентификаторов, все работает нормально, и мой объект сущности хорошо инициализирован. Но для других идентификаторов у меня есть не нулевая сущность, но имеющая значение null или false для атрибутов.

Когда я смотрю на объект сущности, у меня есть атрибут «обработчик» с типом JavassistLazyInitializer и атрибутом «цель», содержащим мою сущность. Этот содержит правильные данные.

Похоже, это проблема прокси-сервера с гибернацией в соответствии с тем, что я нашел в Интернете, но я не могу ее решить.

Я попытался добавить spring.jackson.serialization.fail-on-empty-beans=false в application.properties, но, похоже, это не повлияло.

Я также попробовал это «депроксировать», и это работает, но это неправильное решение:

 if (myEntity instanceof HibernateProxy) {  myEntity = (Profile) ((HibernateProxy) profile).getHibernateLazyInitializer().getImplementation();  }  

Пожалуйста, помогите мне.