У меня проблема с @SequenceGenerator
:
@SequenceGenerator(name="pk_user_id", sequenceName="seq_user_id", allocationSize=1)
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="pk_user_id")
Когда приложение запускается, оно показывает предупреждение:
ПРЕДУПРЕЖДЕНИЕ 7388 --- [ main] org.hibernate.orm.deprecation : HHH90000014: обнаружено использование устаревшего генератора идентификаторов на основе последовательности [org.hibernate.id.SequenceHiLoGenerator]; вместо этого используйте org.hibernate.id.enhanced.SequenceStyleGenerator. Дополнительные сведения см. в Руководстве по сопоставлению модели домена Hibernate.
Я пытался выяснить, как заменить устаревший код новым, но не нашел решения.
properties.put("hibernate.id.new_generator_mappings", "true");
(см. блог Влада Михалчи). Однако hibernate 5 по умолчанию использует расширенные генераторы, поэтому в этом свойстве нет необходимости. 15.02.2017pooled
, и если это проблематично, вы все равно можете избежать проблем, используя предыдущий алгоритм, если вы настроите спящий режим на использование hi/ lo оптимизатор, например, установитеproperties.put("hibernate.id.optimizer.pooled.preferred", "hilo");
. Преимущество по-прежнему заключается в том, что в коде, использующем аннотации JPA, нет никаких изменений. 15.02.2017