Hibernate SequenceStyleGenerator prefer_sequence_per_entity

时间:2013-09-10 20:16:04

标签: hibernate persistence hibernate-4.x

我正在制定一项要求,我们需要使用每个实体的序列。

现在我创建了一个包含列和值的表hibernate_sequence,如下所示:

next_value | sequence_name
-----------|--------------
 100000045 | 
 100050000 | ACCOUNT_SEQ

以下是我的hbm.xml实体ACCOUNT文件:

<generator class="org.hibernate.id.enhanced.SequenceStyleGenerator"> 
            <param name="prefer_sequence_per_entity">true</param> 
            <param name="optimizer">none</param>
            <param name="increment_size">1</param> 
</generator>

但不知何故,我的插入使用全局序列id而不是使用为ACCOUNT定义的序列。有人可以指出我在这里做错了吗?

我确实引用了Steve answer for this question,但是hibernate文档并不清楚如何使用此功能。我们是否应该为每个实体(或)相同的表创建一个单独的表,每个实体具有不同的行,并且语法定义明确?

1 个答案:

答案 0 :(得分:3)

直到4.1.3才添加

'prefer_sequence_per_entity'(参见https://hibernate.atlassian.net/browse/HHH-6790)。上面你澄清说你使用的是4.0。您需要升级才能使用它,或复制4.1.3版本的SequenceStyleGenerator