将Hibernate 3迁移到5:关系hibernate_sequence不存在

Boy*_*yan 5 java hibernate

我正在将运行Hibernate 3的应用程序迁移到Hibernate 5.

我有一个奇怪的错误:

错误:关系hibernate_sequence不存在

我们正在使用*.hbm.xml映射文件,一切正常,直到我更改了Hibernate版本.我的意思是我们有一个非常直接的映射与ID列和DB序列生成器,但仍然Hibernate无法选择正确的配置.

<hibernate-mapping>
    <class name="com.boyan.MyClass" table="my_class">
       <id name="id" type="long">
            <column name="id" />
            <generator class="sequence">
               <param name="sequence">my_class_seq</param>
            </generator>
        </id>
...
    </class>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)

Boy*_*yan 10

我开始深入挖掘Hibernate代码并看到它SequenceGenerator已被弃用且新版本使用SequenceStyleGenerator.我感到很困惑时,我注意到,在新版本的属性说明哪是序列名称从改sequencesequence_name.所以当我改变时:

<param name="sequence">my_class_seq</param>
Run Code Online (Sandbox Code Playgroud)

至:

<param name="sequence_name">my_class_seq</param>
Run Code Online (Sandbox Code Playgroud)

一切顺利.