Hibernate使用nextval保存

时间:2018-05-17 12:19:35

标签: hibernate spring-boot jpa spring-data-jpa

当我尝试保存一个实体时,可以执行选择吗?对于样本我有这个实体:

@Entity
public class MyEntity{
  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  private Long id;
  private String name;

  private String number; 

}

我的财产号码我想执行

select nextval('numberGenerator')

这个数字生成器会生成一个无间隙的数字序列,即使我的插入失败也不会丢失序列

1 个答案:

答案 0 :(得分:0)

我使用@SequenceGenrator来使用数据库端保存的序列。你的序列应该通过nextval创建一个新的id。

 @Id
 @SequenceGenerator(sequenceName = "numberGenerator", name = "numberGenerator", allocationSize = 1, initialValue = 1)
 @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "numberGenerator")
 private Long id;