没什么影响,除了save后返回的id要+1,其它的没什么影响.看看这个:
用oracle的trigger生成主键的时候和hibernate冲突的讨论
(http://www.hibernate.org.cn/78.html)
用oracle的trigger生成主键的时候和hibernate冲突的讨论
(http://www.hibernate.org.cn/78.html)
解决方案 »
- 急!!!莫名其妙的问题
- HTTP Status 404 - /efmpx/
- 怎么把swt的窗体加入到swing中
- 启动Tomcat,触发请求。
- Applet,或portlet2.0 哪一种技术实现更好。
- weblogic9.2发布应用程序,出现“ORA-01401: 插入的值对于列过大”错误,而用tomcat5.5就没有问题,为什么啊为什么??
- 鼠标移动程序——在线急等
- osb中javabean如何调用jms协议的proxy
- 一个查询语句
- 新手关于AXIS的初级问题
- Struts中的Tiles问题????????????
- ★★讨论,在实际的开始中用Struts的朋友进来谈谈开发过程中的一些管理和经验,包括界面开发和分工★★
感觉这个问题还是比较普遍的,如果能够解决会帮助很多人的 :)
如果使用Hibernate,并且在*.hbm.xml映射文件里面做了:
<id
name="id"
column="Id"
type="java.lang.Long"
unsaved-value="null"
>
<generator class="increment">
</generator>
</id>
这样的映射后,那么不需要在Oracle里面建立自增的sequence。插入的数据会根据该映射文件自动的往数据库表该ID主键列插入自增的序列。
但是如果你同时又在数据库里面设置了sequence,那么可能就会导致你目前的sequence的步长不是1而是2了。
希望我的解答对你有帮助,谢谢!
name="yonghuid"
type="java.lang.Long"
column="YONGHUID"
>
<meta attribute="field-description">
@hibernate.id
generator-class="sequence"
type="java.lang.Long"
column="YONGHUID"
@hibernate.generator-param
name="sequence"
value="s_yonghuid"
</meta>
<generator class="sequence">
<param name="sequence">s_yonghuid</param>
</generator>
</id>
<column name="examineid" not-null="true"/>
<generator class="sequence">
<param name="sequence">examine_id_seq</param>
</generator>
</id>
我是这么写的,没有遇到你说的问题,