在JPA中使用@ SequenceGenerator / @ GeneratedValue时 - 数据库触发器是多余的/不必要的?

时间:2016-08-10 15:16:46

标签: java hibernate jpa

我看过这篇文章(JPA Entity Lifecycle Events vs database trigger),但它没有像我在这里那样明确地提出要求:

当我插入一个值为(null)的PK时,我是否需要一个序列和一个触发器?

或者JPA会以某种方式将序列注释解释为抓取.nextVal的信号吗?

1 个答案:

答案 0 :(得分:1)

如果在主键(@Id带注释的字段)上定义序列并使用注释@GeneratedValue和@SequenceGenerator映射序列,则可以使用空主键持久保存实体。 JPA将自动调用序列以获取下一个值(或从其缓存中获取)。 主键声明应如下所示。

Score1