应用程序启动时,HIBERNATE_SEQUENCE在Oracle中失去价值

时间:2017-02-22 11:49:57

标签: hibernate

我是春季申请(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;

其他应用程序在相同配置下工作正常。

1 个答案:

答案 0 :(得分:0)

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

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