一尘不染

由于不推荐使用@SequenceGenerator

hibernate

我有一个问题@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域模型映射指南》。

我试图找出如何用新代码替换不推荐使用的代码,但是找不到任何解决方案。


阅读 605

收藏
2020-06-20

共1个答案

一尘不染

根据警告消息和Hibernate文档(Hibernate不推荐使用的列表),您应该使用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")
2020-06-20