[英]hibernate issues with composite primary key
我在使用Hibernate时遇到了一些问题。 我们需要将一个对象及其子对象一起保存。 每个孩子都有一个复合主键。 按键的一个属性将由触发器插入。 在调用saveOrUpdate(Object)
之前,将从程序中设置另一个属性。
但是我们无法保存该对象。 Hibernate引发异常Same identifier is already exists in the session
。
我尝试了session.clear()
,但是遇到了同样的异常。 当我尝试session.merge()
,只有最后一个孩子被保存,其他孩子被忽略。
如果不再需要在同一Hibernate Session中保存对象,则可以在使用Session.evict()
保存之后分离它们:
// children is the collection of detached children, ready to save
for (Child child : children){
session.save(child);
session.evict(child);
}
另外,在Hibernate论坛中的该条目可能会有所帮助: 在Insert Trigger和ID generator之前 。 有一个AbstractPostInsertGenerator
的实现,可以将其集成以满足您的需求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.