Я борюсь с проблемой, описанной здесь . У меня есть постоянный класс, который я хочу сделать безопасным для коллекции, переопределив hashCode()
и equals()
. Поскольку у моей сущности нет хорошего естественного ключа, эти методы должны будут использовать поле @Id
, поэтому мне нужно назначить идентификатор во время создания объекта. Но теперь Hibernate понадобится другой способ определить, является ли экземпляр временным или постоянным, и логическое поле для этого - @Version
.
Я знаю, что могу сделать это в файле hbm, используя <version unsaved-value="null">
. Но я использую аннотации, которые не поддерживают атрибут unsaved-value
. Если я просто использую простую аннотацию @Version
, будет ли Hibernate достаточно умным, чтобы использовать ее для определения состояния сохранения? Я проверил документацию по Hibernate, но она немного неоднозначна.
Кто-нибудь знает решение, отличное от перемещения отображения всего класса в файл hbm?