Hibernate Oracle sequence的使用技巧

 更新时间:2009年06月17日 20:55:49   作者:  
本文介绍了关于Hibernate中如何使用Oracle sequence的问题以及应注意的事项。
一、为表创建自增长自段有两种,一种是不同的表使用各自的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数据库时会报错。

相关文章

  • 修改ORACLE数据库密码有效期的方法

    修改ORACLE数据库密码有效期的方法

    这篇文章主要介绍了修改ORACLE数据库密码有效期的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-09-09
  • Oracle的RBO和CBO详细介绍和优化模式设置方法

    Oracle的RBO和CBO详细介绍和优化模式设置方法

    这篇文章主要介绍了Oracle的RBO和CBO详细介绍和优化模式设置方法,RBO即基于规则的优化方式(Rule-Based Optimization),CBO即基于代价的优化方式(Cost-Based Optimization),需要的朋友可以参考下
    2014-07-07
  • Oracle CPU高的问题及分析

    Oracle CPU高的问题及分析

    这篇文章主要介绍了Oracle CPU高的问题及分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Oracle Instr函数实例讲解

    Oracle Instr函数实例讲解

    instr函数为字符查找函数,其功能是查找一个字符串在另一个字符串中首次出现的位置,instr函数在Oracle/PLSQL中是返回要截取的字符串在源字符串中的位置,这篇文章主要介绍了Oracle Instr函数实例讲解,需要的朋友可以参考下
    2022-11-11
  • centos7.7安装oracle11g脚本(推荐)

    centos7.7安装oracle11g脚本(推荐)

    这篇文章主要介绍了centos7.7安装oracle11g脚本,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • Oracle to_char函数的使用方法

    Oracle to_char函数的使用方法

    在Oracle数据库中,to_char函数是我们最常用的函数之一,下文对to_char函数的应用作了详细的介绍,如果您感兴趣的话,不妨一看
    2014-08-08
  • 详解Oracle在out参数中访问光标

    详解Oracle在out参数中访问光标

    这篇文章主要介绍了详解Oracle在out参数中访问光标的相关资料,这里提供实例代码帮助大家学习理解这部分内容,希望能帮助到大家,需要的朋友可以参考下
    2017-08-08
  • Linux虚拟机下安装Oracle 11G教程图文解说

    Linux虚拟机下安装Oracle 11G教程图文解说

    这篇文章主要介绍了Linux虚拟机下安装Oracle 11G教程图文详解,本文文字图解相结合的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04
  • 浅谈oracle中单引号转义

    浅谈oracle中单引号转义

    这篇文章主要介绍了浅谈oracle中单引号转义的香瓜内容,涉及单引号的作用以及其具体用法,具有一定参考价值,需要的朋友可以参考下。
    2017-09-09
  • 修改Oracle字符集为UTF-8解决中文乱码问题

    修改Oracle字符集为UTF-8解决中文乱码问题

    这篇文章主要介绍了修改Oracle字符集为UTF-8解决中文乱码问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12

最新评论