广

oracle数据库

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

    Hibernate Oracle sequence的使用技巧

    2018-05-03 14:16:53 次阅读 稿源:互联网
    广告
    全网推广平台,软文发布
    一、为表创建自增长自段有两种,一种是不同的表使用各自的Sequence,方法如下:

      1、在Oracle sequence首先创建sequence

      create sequence seq_idminvalue 1start with 1increment by 1cache 20;

      2、在你的hbm.xml中的配置

      seq_id

      这样再插入数据的时候,Hibernate会自动生成如下语句:

      hibernate: select seq_id.nextval from dual hibernate: insert into YXJK.T_YXJK_WHRYTXL (XM0000, ZW0000, LXDH00, SJHM00, DZYJ00,IP0000, ID0000) values (?, ?, ?, ?, ?, ?, ?)

      自动生成下一个序列值,然后将对象插入表中。在使用的时候需要注意,Hibernate对于sequence的主键的要求是一定要是shor,long,或者integer.

      二、还有一种方式是使用公共的sequence, 这各时候可以不指定表使用的sequence,那么相应的hbm.xml中内容是:

      然后创建公用的 sequence对象,命名为 hibernate_sequence

      create sequence hibernate_sequence

      minvalue 0

      maxvalue 99999999

      start with 10000

      increment by 1;

      三、注意事项

      如果数据库是从sqlserver等其他数据库移植而来的,那么创建sequence时的起始值应该比当前表中最大的ID值大,否则会出现错误,因为sequence不会维护是否和导库前现有的值重复。

      1、sequence:用于Oracle数据库

      序列名

      2、native:跨数据库时使用,由底层方言产生。

      Default.sequence为hibernate_sequence

      注:使用native时Hibernate默认会去查找Oracle中的hibernate_sequence序列。如果Oracle中没有该序列,连Oracle数据库时会报错。

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告
    广告