当前位置:  数据库>oracle

浅谈在Hibernate中使用Oracle sequence

    来源: 互联网  发布时间:2017-03-22

    本文导语:     一. 为表创建自增长自段有两种,一种是不同的表使用各自的Sequence,方法如下:     1、在Oracle sequence首先创建sequence       create sequence seq_idminvalue 1start with 1increment by 1cache 20;     2.在你的hbm.xml中的配置    seq_id...

    一. 为表创建自增长自段有两种,一种是不同的表使用各自的Sequence,方法如下:

    1、在Oracle sequence首先创建sequence

      create sequence seq_id
minvalue 1
start with 1
increment by 1
cache 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数据库时会报错。


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java 框架Hibernate的generator属性的七种class介绍
  • linux图形模式下shutdown里有Hibernate这个选项。怎么man shutdown里找不到hibernate这个选项呢。
  • struts+spring+hibernate+jquery实现分页功能的几个基本类介绍(异步加载)
  • Hibernate搜索框架 Hibernate Search
  • spring的事务类型及spring和hibernate可能导致的问题分析
  • Hibernate Shards
  • Eclipse添加xml文件提示及Hibernate配置学习
  • 数据持久层框架 Hibernate
  • Eclipse的Hibernate插件 HiberClipse
  • Hibernate EntityManager
  • Bean验证框架 Hibernate Validator
  • hibernate能用在C++开发上吗?
  • Hibernate POJO Generator
  • Hibernate泛型DAO层 SwiftDAO
  • Hibernate Synchronizer
  • Hibernate映射文件生成工具 hbm2java
  • Hibernate-SQLite
  • NoSQL的持久层框架 Hibernate OGM
  • hibernate-memcached
  • Hibernate的JNDI绑定分析
  • 解析Hibernate + MySQL中文乱码问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3