我遇到@SequenceGenerator
:
@SequenceGenerator(name="pk_user_id", sequenceName="seq_user_id", allocationSize=1)
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="pk_user_id")
当应用程序启动时,它会显示警告:
WARN 7388 --- [main] org.hibernate.orm.deprecation:HHH90000014:发现使用不推荐的[org.hibernate.id.SequenceHiLoGenerator]基于序列的id生成器;请改用org.hibernate.id.enhanced.SequenceStyleGenerator。有关详细信息,请参阅“Hibernate域模型映射指南”
我试图找出如何用新的代码替换已弃用的代码,但无法找到任何解决方案。
答案 0 :(得分:37)
根据警告消息和Hibernate文档(Hibernate deprecated list),您应该使用SequenceStyleGenerator。或者更好地使用@GenericGenerator并指定生成器策略。
以下是一个典型的使用示例:
@GenericGenerator(
name = "wikiSequenceGenerator",
strategy = "org.hibernate.id.enhanced.SequenceStyleGenerator",
parameters = {
@Parameter(name = "sequence_name", value = "WIKI_SEQUENCE"),
@Parameter(name = "initial_value", value = "1000"),
@Parameter(name = "increment_size", value = "1")
}
)
@Id
@GeneratedValue(generator = "wikiSequenceGenerator")