У меня проблема с Hibernate. Моя цель - создать экземпляр сущности на основе имени, а затем напрямую получить полный экземпляр (со всеми значениями атрибутов, включая идентификатор, который является bigint), потому что мне нужно знать его по некоторым причинам. Это уже работало, когда я делал это в двух разных сеансах и с пользовательским hql-запросом, но я думал, что было бы чище сделать это в том же сеансе и с @NaturalId
. Я использую две разные транзакции и load()
действительно получает экземпляр, но идентификатор не имеет правильных значений. Вместо этого он всегда равен нулю ...
Вот как я его использую:
character = session.byNaturalId(Character.class).using("charname", charname).load();
charname
- это имя столбца, который я пометил аннотацией естественного идентификатора.
Спасибо за вашу помощь!