在我的项目中,我使用Hibernate 4.2和@SequenceGenerator
以及下面的Oracle DB。最近我决定将hibernate版本提升到5,其中@SequenceGenerator
已被弃用,建议使用SequenceStyleGenerator。
我已经发现我可以通过将hibernate.id.new_generator_mappings
设置为false
来关闭新的生成器。
但如果我想开始使用默认池化优化器而不是hi / lo的Hibernate 5的新推荐解决方案,我需要做什么?
现在我用:
@SequenceGenerator(name = "seq_gen_name", sequenceName = "sequence_name1")
找到解决方案将其更改为:
@GenericGenerator(
name = "seq_gen_name",
strategy = "org.hibernate.id.enhanced.SequenceStyleGenerator",
parameters = {
@Parameter(name = "sequence_name", value = "sequence_name1"),
@Parameter(name = "increment_size", value = "50")
}
)
但后来我收到了大量的DataIntegrityViolation异常。