【问题标题】:JPA hibernate with sequence stratery as legacy_hilo and multiple applications deployedJPA 休眠,序列策略作为 legacy_hilo 并部署了多个应用程序
【发布时间】:2021-03-21 22:39:31
【问题描述】:

我将 JPA 与 hibernate 一起使用,并且有一个像这样定义的 bean。

@Entity
@Table(name = "ARTICLE")
@GenericGenerator(
        name = "ARTICLE_GEN",
        strategy = "sequence",
        parameters = {
                @Parameter(name = "sequence_name", value = "ARTICLE_SEQ"),
                @Parameter(name = "increment_size", value = "400"),
                @Parameter(name = "optimizer", value = "legacy-hilo")
})

多个应用程序使用同一个实体并指向同一个数据库。

问题是,我有时会在其中一个应用程序中遇到此错误:

oracle.jdbc.OracleDatabaseException: ORA-00001: unique constraint (ARTICLE.PK_2) violated

我很确定其中一个应用程序正在进入另一个应用程序序列缓存。 我正在寻找最佳实践来管理具有许多应用程序上下文的序列缓存,或任何 subgestion 以改进映射。

问候,

【问题讨论】:

    标签: oracle hibernate caching sequence hilo


    【解决方案1】:

    我认为你必须注释 @javax.persistence.SequenceGenerator(allocationSize = 400) 以便 Hibernate 知道它应该增加 400。

    【讨论】:

      【解决方案2】:

      感谢克里斯蒂安的回答。

      我们发现,这是一个不共享相同增量大小的应用程序。所以我们发现我们的密码插入了重复的键。

      【讨论】:

        猜你喜欢
        • 2014-07-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-04
        • 1970-01-01
        • 2014-05-08
        • 1970-01-01
        相关资源
        最近更新 更多