【问题标题】:Hibernate SequenceStyleGenerator prefer_sequence_per_entityHibernate SequenceStyleGenerator prefer_sequence_per_entity
【发布时间】:2013-09-14 16:45:52
【问题描述】:

我正在处理我们需要为每个实体使用序列的要求。

现在我创建了一个表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?具体来说,您使用的版本是否支持“prefer_sequence_per_entity”?
  • @SteveEbersole:我使用的是休眠 4.0。我在休眠文档中找不到“prefer_sequence_per_entity”。这是可用的吗?如果是这样,您可以分享文档链接吗?

标签: hibernate persistence hibernate-4.x


【解决方案1】:

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

【讨论】:

  • 感谢史蒂夫的澄清。
猜你喜欢
  • 2015-04-04
  • 1970-01-01
  • 2014-01-16
  • 2015-03-07
  • 2015-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-06
相关资源
最近更新 更多