当前位置:首页 > hibernate学习文档
* 在多端不使用CascadeType.ALL方式,使用CascadeType.Persist、CascadeType.Refresh和CascadeType.Merge方式 *
@ManyToOne(cascade={CascadeType.PERSIST,CascadeType.MERGE,CascadeType.REFRESH}) */ public void testDeleteSon4(){ Session session = sf.getCurrentSession(); Transaction tx = session.beginTransaction(); com.myjava.model.many2one.bi.Son son =
(com.myjava.model.many2one.bi.Son)session.get(com.myjava.model.many2one.bi.Son.class, 4); Session s = sf.getCurrentSession(); s.delete(son); tx.commit(); } @Test /** * 对于testDeleteSon3方法改正方案2 * 将对象的外键关系收到置null,然后再删除 * */ public void testDeleteSon5(){ Session session = sf.getCurrentSession(); Transaction tx = session.beginTransaction(); com.myjava.model.many2one.bi.Son son =
(com.myjava.model.many2one.bi.Son)session.get(com.myjava.model.many2one.bi.Son.class, 5); Session s = sf.getCurrentSession(); //************** son.setMother(null); //************** s.delete(son); tx.commit(); } @Test /** * 对于testDeleteSon3方法改正方案3 * 用HQL语句删除记录 * */ public void testDeleteSon6(){
Session session = sf.getCurrentSession(); Transaction tx = session.beginTransaction(); org.hibernate.Query query = session.createQuery(\s.id = 4\); query.executeUpdate(); tx.commit(); }
共分享92篇相关文档