【问题标题】:deprecated SequenceHiLoGenerator sequence-based id generator; use SequenceStyleGenerator instead弃用的 SequenceHiLoGenerator 基于序列的 id 生成器;改用 SequenceStyleGenerator
【发布时间】:2017-02-01 14:13:31
【问题描述】:

我的应用程序正在记录

org.hibernate.orm.deprecation : HHH90000014: 发现使用 弃用 [org.hibernate.id.SequenceHiLoGenerator] 基于序列的 id 发电机;使用 org.hibernate.id.enhanced.SequenceStyleGenerator 反而。有关详细信息,请参阅 Hibernate 域模型映射指南。

关于这个here 有一个类似的问题可以解决这个问题,但我的问题是是否可以替换序列生成器 org.hibernate.id.SequenceHiLoGenerator 到 org.hibernate.id.enhanced.SequenceStyleGenerator 而不通过编写自定义 @GenericGenerator 的每个域类注释?可能是财产之类的东西......

我的代码是这样的:

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator="seq_name")
@SequenceGenerator(name="seq_name", sequenceName="hibernate_sequence")
private Long id;

谢谢。

【问题讨论】:

    标签: java hibernate


    【解决方案1】:

    您应该能够将 hibernate.id.new_generator_mappings 设置为 true,这是 Hibernate 5 中的默认设置,这应该会禁用旧版行为并自动选择增强型生成器。

    【讨论】:

    • 它可以工作,但现在我有另一个错误:在尝试为“增量大小”设置冲突值时遇到了对数据库序列 [hibernate_sequence] 的多次引用。找到 [50] 和 [1]
    • 我希望你可能已经找到了这个修复,但我仍然在这里提到,以便其他人可以参考。您的实体中的序列生成器具有不同的 incrementSize 值 50 和 1。您需要将它们调整为只有一个 incrementSize 说 50。
    • @LucasOliveira 我也收到了。你找到解决办法了吗?自从上次它正常工作以来,我最近添加了几个新实体,它们必须以某种方式将增量值设置为 1,但我不知道如何。我只在一个地方看到这个值设置为 50,这里:github.com/dancancro/great-big-example-application/blob/…
    猜你喜欢
    • 2014-04-20
    • 2017-11-12
    • 2011-12-21
    • 2019-04-10
    • 2021-10-18
    • 1970-01-01
    • 1970-01-01
    • 2012-05-07
    • 2010-11-24
    相关资源
    最近更新 更多