springdataJpa oracle中自定生成Long类型的主键值

1.首先在实体类中主键上加入如上注解

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

其中sequenceName是真正的数据库中的序列,基本创建方法如下

create sequence emp_id_seq

start with 1

increment by 1

nomaxvalue

nominvalue

nocycle

nocache;

记得指定下allocationSize也就是步长,如果不指定的话默认时50,这样即使在创建序列的时候指定了步长但是它还是会在当前的序列的值上乘以50

  1. 如果是通过调用继承的JpaRepository接口中的save方法的话,不需要加入其它的处理,如果是自定义的查询需要在
    @Query上添加@Modify,并在调用的的方法上加上@Tranditional
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,075评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,785评论 18 399
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,222评论 30 472
  • 一个耐人寻味的小事件:昨天早晨,一位同事手机瞬间死机,无法进行任何操作,于是他自己动手,按照从手机维修店偷偷学来的...
    艾问才会赢阅读 205评论 1 3
  • You have to use the contents() method: to get the element...
    stone_yao阅读 260评论 0 0