Насколько я знаю, Hibernate генерирует значения только для поля, помеченного как @Id.Я нашел этот пост, и ответ Харди поддерживает это.
Мы попытались сделать подобное и справились с этим через прослушиватель перед вставкой.Это было довольно сложно и не идеально.Также вы можете найти различное поведение на разных платформах.Использование последовательностей Oracle будет означать, что вам нужно назначить значение pre-insert (Hibernate делает выбор, чтобы получить значение, а затем вставку), но в MySQL поле с автоинкрементом присваивает значение, а hibernate делает вставку для генерации автоматически сгенерированногозначение, а затем выберите, чтобы узнать, какое значение было.