【发布时间】:2013-10-30 21:29:17
【问题描述】:
各位开发者, 我发现很难配置序列生成。
我继承了一个具有以下 id 字段定义的持久类:
@Id
@GeneratedValue(strategy= GenerationType.AUTO)
private Long id;
我所有的类都继承自这个类。
我想要的主要内容: 我需要重写 id 生成策略才能使用 HiLo。它必须在 cfg.xml 中,因为它是我唯一可以控制的地方。
这东西看起来很有希望:
<property name="hibernate.id.new_generator_mappings">true</property>
但是我无法选择优化或增量大小(我想去 HiLo)
<property name="hibernate.id.increment_size">50</property>
<property name="hibernate.id.optimizer">hilo</property>
没有用,也没有
<property name="increment_size">50</property>
<property name="optimizer">hilo</property>
也没有
<property name="optimizer">org.hibernate.id.enhanced.HiLoOptimizer</property>
NoopOptimizer 总是被选中。
任何提示都会有所帮助。提前非常感谢。
【问题讨论】:
-
您是否有一些额外的 applicationContext.xml 文件可能会覆盖您在 cfg.xml 中的设置?另见stackoverflow.com/a/12636086/2615437?
-
您是否为休眠启用了调试级别日志记录,它是否说明了您正在使用哪些属性?
-
我没有这样的文件。我认为我使用的属性可能不是正确的。我会检查一下到底使用了哪些属性。
标签: hibernate hibernate-mapping sequence-generators