在hibernate4中,为oracle数据库指定一个自定义的序列化主键代码如下:
<id name="pid" type="java.lang.Integer">
<column name="PID" precision="8" scale="0" />
<generator class="sequence" >
<param name="sequence">PRODUCT_SEQ</param>
</generator>
</id>
而到了hibernate5中,以上代码会只会为你查找默认的序列化而并非你指定的自定义序列
Hibernate:
select
hibernate_sequence.nextval
from
dual
如果你在hibernate5中出现了这个问题,只需要将代码改成如下状态即可
<id name="pid" type="java.lang.Integer">
<column name="PID" precision="8" scale="0" />
<generator class="sequence" >
<param name="sequence_name">PRODUCT_SEQ</param>
</generator>
</id>