H2 1.4.185无法通过使用Hibernate Entity运行的先前服务器生成的UUID进行查询

时间:2015-07-04 18:17:57

标签: java hibernate h2 dropwizard

我有一个带有以下ID的Hibernate Managed Entity

@Id
@GeneratedValue(generator = "hibernate-uuid")
@GenericGenerator(name = "hibernate-uuid", strategy = "uuid2")
private UUID uuid;

在重新启动服务器之前,我插入,获取并删除这些实体没有问题。服务器重新启动后,我无法使用基本的Hibernate getdelete操作找到数据库中仍存在的实体。

我看到与本地H2 和我的MySQL 实例的相同的问题 。这段代码是Java 7,我正在运行dropwizard 0.8.1。当我从包含Hibernate升级的dropwizard 0.7升级到4.3.5-Final时,就会出现此问题。

例如:

UUID id = UUID.fromString(myUuid)
session.get(myClass, id);  

此代码从数据库中的行返回预期的对象。现在我重新启动服务器后

UUID id = UUID.fromString(myUuid)
session.get(myClass, id);  

它不返回任何记录。我能够验证表中仍然存在的相同记录,并且ID尚未被修改。

修改

实际上,这只是我基于H2文件的实例中的一个问题。当我将H2从1.3.172升级到1.4.185

时,这个问题就开始了

0 个答案:

没有答案