首先在Oracle表中实现ID自增,其次在JPA中实现。
Oracle数据库不存在主键自增选项,现在想实现ID自增。
博客链接:oracle 实现插入自增列
打开Navicat,定位到自己创建的表。
一、 创建序列
其他-序列 填写相应的信息,特别注意:表数据为空的话,开始值从1开始。看清数据库表中的数目,只填写前三个保存自动填充后面的。
二、设置触发器
设计表-触发器
1、BEFORE
2、更新的字段
3、触发的语句 固定格式
三、测试
发现表ID字段自增
四、JPA注解
注意:以上是在数据表中设置的触发器,在数据表中执行操作语句的时候是有效的,但是在JPA中应该将触发器设置为未启用,不然就会执行两次,ID自增为2.
如果只是在数据表中设置主键自增序列、触发器,JPA中执行插入操作报错。JPA中设置主键自增序列、主键生成策略不报错,但是数据表中的触发器也执行了。
在实体类中使用 @GeneratedValue和@SequenceGenerator 完成 ID自增
@GeneratedValue和@Seque