Да (см. Ниже), но очевидный вопрос - «почему»?Это большая работа, чтобы получить тот же результат.
Однако, если вам необходимо ... fictionalMethodThatGeneratesIdentifiers () должен будет делать то, что делает генератор последовательности гибернации, что, вероятно, соответствует требованиям вашего конкретного объекта.базы данных, чтобы получить следующий порядковый номер.
Если вы сделаете это, обратите внимание, что в документации сказано:
Назначенный генератор заставляет Hibernate использовать unsaved-value = "undefined".Это вынуждает Hibernate перейти в базу данных, чтобы определить, является ли экземпляр временным или отключенным, если нет свойства версии или метки времени или вы не определите Interceptor.isUnsaved ().
Итак, я быпредложите явно сопоставить unsaved-value, скажем, с -1, и заставить ваш объект инициализировать значение id для этого, в противном случае вы будете видеть много дополнительных затрат каждый раз, когда пытаетесь сохранить экземпляр.