简单地从相关实体的集合中删除实体,不会删除数据库记录,对吗?
例如:
currentUser.getBooks().remove(thisBook);
userDAO.update(currentUser);
Run Code Online (Sandbox Code Playgroud)
不会从数据库中删除记录
我是否必须始终明确地转到bookDAO并且session.delete(thisBook)每次都说?我认为Hibernate比那更智能,并且在保存或更新父实体时进行级联检查.
我该如何解决这个问题?
Book从实体中的books集合中User删除实体只会删除两个实体(Book和User)之间的关系,而不是Book实体实例.
该CASCADE条款也不是您要找的.级联意味着,如果Userhas books,即Book实例集合,则在删除User实例时,也会删除工作簿实例.
因此,请阅读从此集合中getBooks().remove(thisBook)删除此书,而不是从数据库中删除.
是的,如果你想删除你必须使用的书session.remove(book)(或DAO中的设施).
| 归档时间: |
|
| 查看次数: |
7502 次 |
| 最近记录: |