将我的应用程序从 hibernate 4 迁移到 hibernate 5 后。我的序列不起作用,hibernate 使用我们的默认序列而不是我的序列。hbm 中的我的映射配置就像这样,我的数据库是 oracle 。
<id name="id" column="Id" type="java.lang.Long">
<generator class="sequence" >
<param name="sequence">SEQ_APP_Login_Log</param>
</generator>
</id>
谷歌后有人说将类更改为 org.hibernate.id.enhanced.SequenceStyleGenerator 但不再工作了。
很简单。
sequence
属性已更改为 sequence_name
:
<id name="id" column="Id" type="java.lang.Long">
<generator class="sequence" >
<param name="sequence_name">SEQ_APP_Login_Log</param>
</generator>
</id>
对 hibernate5+ 使用以下内容:
<generator class="org.hibernate.id.enhanced.SequenceStyleGenerator">
<param name="optimizer">none</param>
<param name="increment_size">1</param>
<param name="sequence_name">MY_SEQUENCE</param>
</generator>