天天看点

Hibernate的数据删除,更改

                      其他未给出代码,请参考上一篇....

一.数据的删除

方法1.从“多”的一方进行数据的删除

books.hbm.xml文件不变:

publishers.hbm.xml文件:

在MyHibernateDao.java中添加如下代码:

在HibernateServlet.java中添加如下代码

注意如果没有book1.getPublishers().getBooks().remove(book1); book1.setPublishers(null);这两句,会出现 org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations)这个异常,主要是因为Books和Publishers二者的级联关系。

所以我们可以先将级联断开,然后再进行删除“多”的一方。

方法2.从“一”的这一方进行删除,这样的话就是和“一”这一方相关联的“多”的一方都会被删除

在HibernateServlet.java中添加如下代码:

publishers.hbm.xml 和 books.hbm.xml 不用改变

 二.数据的删除

其他不变....