Hibernate Oracle sequence的使用技巧

2016-02-19 09:10 6 1 收藏

岁数大了,QQ也不闪了,微信也不响了,电话也不来了,但是图老师依旧坚持为大家推荐最精彩的内容,下面为大家精心准备的Hibernate Oracle sequence的使用技巧,希望大家看完后能赶快学习起来。

【 tulaoshi.com - 编程语言 】

一、为表创建自增长自段有两种,一种是不同的表使用各自的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中内容是:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

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

  create sequence hibernate_sequence

  minvalue 0

  maxvalue 99999999

  start with 10000

  increment by 1;

  三、注意事项

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  1、sequence:用于Oracle数据库

  序列名

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

  Default.sequence为hibernate_sequence

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

来源:http://www.tulaoshi.com/n/20160219/1589770.html

延伸阅读
标签: ASP
       Oracle是世界上用得最多的数据库之一,活动服务器网页(ASP)是一种被广泛用于创建动态网页的功能强大的服务器端脚本语言。许多ASP开发人员一直在考虑,能否在开发互联网应用、电子商务网站、互联网管理系统时结合使用ASP和Oracle数据库?这个问题的答案是肯定的,我们还可以使用VB访问Oracle数据库。...
标签: ASP
       <html>          <body>          <H3>Retrieve All Records in MYTABLE1 Table ( in Oracle)          Using oo4o</H3>          <tabl...
1.找出无用索引: DML 性能低下,其中最严重的原因之一是无用索引的存在。所有SQL的插入,更新和删除操作在它们需要在每一行数据被改变时修改大量索引的时候会变得更慢。许多Oracle 管理人员只要看见在一个SQL 查询的WHERE语句出现了一列的话就会为它分配索引。虽然这个方法能够让SQL运行得更快速,但是基于功能的Oracle 索引使得数据库...
--建递增序列 CREATE SEQUENCE LZEAM_SP_LOOP_EQ_SEQ MINVALUE 1 INCREMENT BY 1 START WITH 1 测试: SELECT LZEAM_SP_LOOP_EQ_SEQ.NEXTVAL FROM DUAL --建触发器 CREATE OR REPLACE TRIGGER LZEAM.LZEAM_SP_LOOP_EQ_TRIGGER BEFORE INSERT ON SP_LOOP_EQ FOR EACH ROW BEGIN SELECT LZEAM.LZEAM_SP_LOOP_EQ_SEQ.NEXTVAL INTO :NEW.LOOP_EQ...
一、设置初始化参数 job_queue_processes sql alter system set job_queue_processes=n;(n0) job_queue_processes最大值为1000 查看job queue 后台进程 sqlselect name,description from v$bgprocess; 二、dbms_job package 用法介绍 包含以下子过程: Broken()过程。 change()过程。 ...

经验教程

747

收藏

80
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部