假设Parent
已经存在id=1
。它已经有2个孩子。如何使代码:如何将孩子添加到现有的父亲节点中进行休眠?
Parent parent = parentDao.getbyId(1);
//here somebody added a collection of children
parent.setChildren(myNewCreatedChildren)
parentDao.save(parent);
如何保存母公司获得parentDao.getbyId(1).getChildren()
回报之后somebody children + myNewCreatedChildren
?例如。打电话parentDao.save(parent)
应该加儿童但不要覆盖。
注意
的问题是有关情况时chidren构成了Java代码之外添加(或可能是在其他线程)的parent
它是由DOA加载之后,但在它保存到数据库中。
http://docs.jboss.org/hibernate/orm/5.1/userguide/html_single/Hibernate_User_Guide.html#_optimistic –
不理解你,关于文档参考。是的,可以使用版本号或交易管理来表明我们是否有父母变更。但问题不在于此,而是在未加载的情况下将子项添加到已存在的集合中。你能否添加一些更多的解释? – Cherry
AFAIK,向集合添加一个元素将被视为对父级的更改,版本将会增加,并且会检测到冲突。 –