设为首页 加入收藏

TOP

Hibernate关联关系映射之一对多关联关系(二)
2015-07-24 10:43:36 来源: 作者: 【 】 浏览:2
Tags:Hibernate 关联 关系 映射 之一
loyee) query.uniqueResult(); System.out.println(e.getName() + "属于" + e.getDepartment().getName()); } // 解除关联关系,相当于某一个员工离开原来部门,并不删除两个表中数据 // 从员工方删除 @org.junit.Test public void removeRelation() { session = HibernateSessionFactory.getSession(); tran = session.beginTransaction(); try { Department de = new Department(); de.setId(1); de.setName("宣传部"); session.save(de); Employee e = (Employee) session.get(Employee.class, 3); e.setDepartment(de); session.save(e); tran.commit(); } catch (Exception e) { tran.rollback(); } } // 删除员工方 @org.junit.Test public void deleteEmployee() { session = HibernateSessionFactory.getSession(); tran = session.beginTransaction(); try { Employee e = (Employee) session.get(Employee.class, 4); session.delete(e); tran.commit(); } catch (Exception e) { tran.rollback(); } } // 删除部门 @org.junit.Test public void deleteDepartment() { session = HibernateSessionFactory.getSession(); tran = session.beginTransaction(); try { Department de = (Department) session.get(Department.class, 1); /* * 如果没有关联的员工,能删除 * 如果有关联的员工,且inverse属性为true,由于由不能维护关联,所以会直接执行删除,就会有异常 * 如果有关联的与昂,且inverse属性为false,由于可以维护关联关系,他就会先把关联的员工的外键设为null。在删除 */ session.delete(de); tran.commit(); } catch (Exception e) { tran.rollback(); } } }


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Hibernate关联关系映射之继承映射 下一篇Like关联查询

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·HyperText Transfer (2025-12-26 07:20:48)
·半小时搞懂 HTTP、HT (2025-12-26 07:20:42)
·CPython是什么?PyPy (2025-12-26 06:50:09)
·Python|如何安装seab (2025-12-26 06:50:06)
·python要学习数据分 (2025-12-26 06:50:03)