Как заставить принудительно автоматически сгенерированные первичные ключи гибернации
Я использую JPA 2.1 с Hibernate 4.3.8. на Oracle, MySQL, PostgreSQL и MS SQL. Для создания числовых первичных ключей я использовал следующий код:
@Id
@Column(name = "ID")
@GeneratedValue(strategy = GenerationType.AUTO, generator = "t_gen")
@SequenceGenerator(name = "t_gen", sequenceName = "T_SEQ")
private long id;
Все идет нормально. Но мне нужно генерировать только положительные значения идентификаторов при любых условиях. Как заставить Hibernate генерировать только положительные идентификаторы для каждой базы данных (MS SQL, MySQL, PostgreSQL, Oracle)?
1 ответ
Решение
Надеюсь это поможет;
Если allocSize не объявлен на стороне объекта, так как размер выделения по умолчанию равен 50, ВСЕ последовательности ДОЛЖНЫ объявить INCREMENT BY 50 на стороне DB.
Ссылка Ссылка: http://skay-dev.blogspot.in/2013/09/hibernate-sequence-and-negative.html