Hibernate Oracle sequence的使用技巧
时间:2023-07-06 05:18:42
一、为表创建自增长自段有两种,一种是不同的表使用各自的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数据库时会报错。
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python ArgumentParse的subparser用法说明
python类继承用法实例分析
Go select使用与底层原理讲解
python监控进程状态,记录重启时间及进程号的实例
编写Python脚本抓取网络小说来制作自己的阅读器
![](https://img.aspxhome.com/file/2023/7/99437_0s.png)
pygame实现非图片按钮效果
![](https://img.aspxhome.com/file/2023/9/95929_0s.gif)
MySQL语句汇总整理
![](https://img.aspxhome.com/file/2023/8/121258_0s.png)
简单了解python字符串前面加r,u的含义
![](https://img.aspxhome.com/file/2023/6/121916_0s.png)
使用PDB简单调试Python程序简明指南
![](https://img.aspxhome.com/file/2023/3/76163_0s.png)
Python内置的字符串处理函数详细整理(覆盖日常所用)
一文带你深入了解Python中的二次移动平均法
![](https://img.aspxhome.com/file/2023/1/101211_0s.png)
Python计算双重差分模型DID及其对应P值使用详解
![](https://img.aspxhome.com/file/2023/5/68335_0s.jpg)
php下intval()和(int)转换使用与区别
Javascript中常见的逻辑题和解决方法
mysql 表维护与改造代码分享
ASP代理采集的核心函数代码
在ASP.NET 2.0中操作数据之五十:为GridView控件添加Checkbox
![](https://img.aspxhome.com/file/2023/1/75531_0s.gif)
Python3网络爬虫之使用User Agent和代理IP隐藏身份
![](https://img.aspxhome.com/file/2023/5/79625_0s.png)
python相对包导入报“Attempted relative import in non-package”错误问题解决
python操作mysql、excel、pdf的示例
![](https://img.aspxhome.com/file/2023/1/117331_0s.png)