我正在使用带有Hibernate 4.3.8的JPA 2.1。关于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;
到目前为止一切顺利。但我需要在所有条件下仅生成ID的正值。如何强制Hibernate在每个数据库(MS SQL,MySQL,PostgreSQL,Oracle)上只生成正ID?
答案 0 :(得分:0)
希望这会有所帮助;
如果在实体端未声明allocationSize,则默认分配大小为50,所有序列必须在数据库端声明INCREMENT BY 50。
参考链接: http://skay-dev.blogspot.in/2013/09/hibernate-sequence-and-negative.html