【问题标题】:HIBERNATE_SEQUENCE loses value in Oracle when application starts应用程序启动时,HIBERNATE_SEQUENCE 在 Oracle 中失去价值
【发布时间】:2017-02-22 11:49:56
【问题描述】:

我有一个 spring 应用程序 (3.2.8.RELEASE)

应用程序使用“hibernate core 4.2.6 FINAL”和“Hibernate Validator 4.2.0.Final” 当应用程序在 Oracle 表中插入寄存器时,我看到 HIBERNATE_SEQUENCE 增加了他的值,但是在重新启动 tomcat 后,hibernate_sequence 失去了他的值并且它总是以相同的值开始(在我的例子中:21)

hibernate.hbm2ddl.auto 配置为验证

我将 HIBERNATE_SEQUENCE 缓存从 20 更改为 2,但重新启动应用程序后缓存参数值再次为 20。

显然,每次应用程序启动时都会创建 hibernate_sequence。

对此有任何想法吗?

所有 id 字段都有“@GeneratedValue(strategy = GenerationType.AUTO)”

@JsonProperty("actualId")
@Id
@Column(name = "DEVICE_ID")
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;

其他应用程序在相同的配置下运行良好。

【问题讨论】:

  • 不要在标题中添加 SOLVED。添加解决方案的答案并接受该答案。

标签: hibernate


【解决方案1】:

我解决了这个问题。我看到有另一个应用程序访问相同的数据库和架构。这个应用程序配置了 hibernate.hbm2ddl.auto = create。

两个应用都使用相同的架构,然后两个应用的 HIBERNATE_SEQUENCE 相同。另一个应用程序正在创建它。我为应用配置了其他架构,现在一切正常。

【讨论】:

    猜你喜欢
    • 2012-08-17
    • 2020-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-08
    • 1970-01-01
    • 2014-11-02
    • 1970-01-01
    相关资源
    最近更新 更多