为什么 Hibernate 5 序列生成器使用默认的 hibernate.seq 而不是我的序列?

问题描述 投票:0回答:2

将我的应用程序从 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 但不再工作了。

java hibernate orm hibernate-mapping hibernate-5.x
2个回答
11
投票

很简单。

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>

0
投票

对 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>
© www.soinside.com 2019 - 2024. All rights reserved.