Hibernate: session.byNaturalId (). Using (). Load () возвращает экземпляр с нулевым идентификатором - PullRequest
1 голос
/ 29 апреля 2020

У меня проблема с Hibernate. Моя цель - создать экземпляр сущности на основе имени, а затем напрямую получить полный экземпляр (со всеми значениями атрибутов, включая идентификатор, который является bigint), потому что мне нужно знать его по некоторым причинам. Это уже работало, когда я делал это в двух разных сеансах и с пользовательским hql-запросом, но я думал, что было бы чище сделать это в том же сеансе и с @NaturalId. Я использую две разные транзакции и load() действительно получает экземпляр, но идентификатор не имеет правильных значений. Вместо этого он всегда равен нулю ...

Вот как я его использую:

character = session.byNaturalId(Character.class).using("charname", charname).load();

charname - это имя столбца, который я пометил аннотацией естественного идентификатора.

Спасибо за вашу помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...