JPA继承类型已加入 - 在合并时丢失DTYPE

时间:2013-04-10 22:53:52

标签: jpa merge persist

我创建了一个使用继承类型JOINED的超级和子类。

在一个持久化上,一切正常......我的超类表中的DTYPE列被设置为类名“TravelTask​​”。然而,当我尝试进行合并时,DTYPE似乎被刷新为null。

我在尝试合并之前尝试使用entityManager.find()回读持久化实体,希望这会拉回DTYPE值,但这也会返回null,即使我可以在数据库....

因此,在后续合并中,DTYPE丢失,然后我开始获得主键约束(我认为这是相关的)。

我试过调用persist并从super和subclass合并,但同样的事情发生......

任何建议表示赞赏。

1 个答案:

答案 0 :(得分:0)

您是否正在映射DTYPE列?通常你不会映射这个,JPA会根据对象的类插入它。它永远不应该更新。

可能包含您的代码和JPA提供程序/版本。