如何强制正自动生成的休眠主键

时间:2015-04-13 14:18:56

标签: java oracle hibernate postgresql jpa

我正在使用带有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?

1 个答案:

答案 0 :(得分:0)

希望这会有所帮助;

如果在实体端未声明allocationSize,则默认分配大小为50,所有序列必须在数据库端声明INCREMENT BY 50。

参考链接: http://skay-dev.blogspot.in/2013/09/hibernate-sequence-and-negative.html