Hibernate——关联关系的CRUD(增删改查)二
2017-07-19 15:41
127 查看
(三)改
通过更新user来更新group@Test public void testUpdateUser() { testSaveGroup(); Session session = sf.getCurrentSession(); session.beginTransaction(); User u = (User)session.get(User.class, 1); session.getTransaction().commit(); Session session2 = sf.getCurrentSession(); session2.beginTransaction(); u.getGroup().setName("group"); session2.update(u); session2.getTransaction().commit(); }
(四)删
@Test public void testDelete() { testSaveGroup(); Session session = sf.getCurrentSession(); session.beginTransaction(); User u = (User)session.get(User.class, 1); session.delete(u); session.getTransaction().commit(); }此时数据库中有u1,u2,g1三条数据,删除u1,其他两条也一起被删除了
这是因为user表级联着group表,group表也级联着user表,删了u1就删了g1,删了g1就把g1下所有的user都删了
若只想删除u1,可以把u1与g1的关联关系设为null
或者直接用HQL语句实现
@Test public void testDelete() { testSaveGroup(); Session session = sf.getCurrentSession(); session.beginTransaction(); //User u = (User)session.get(User.class, 1); //u.setGroup(null); //session.delete(u); session.createQuery("delete from User u where u.id=1").executeUpdate(); session.getTransaction().commit(); }
相关文章推荐
- Hibernate——关联关系的CRUD(增删改查)一
- Hibernate中关联关系的CRUD(增删改查)
- 13hibernate hibernate关联关系的CRUD(增删改查)
- Hibernate基本概念与CRUD(增删改查)
- 【Hibernate框架开发之七】Hibernate使用Annotation中各种关系映射的CRUD(增删改查)&&集合映射&&继承映射
- Hibernate实现数据的增删改查(CRUD)操作
- hibernate核心API和级联的增删改查(CRUD)
- 【Hibernate框架开发之七】Hibernate使用Annotation中各种关系映射的CRUD(增删改查)&&集合映射&&继承映射
- Hibernate学习笔记(2)----Hibernate中的增删改查(CRUD)
- Spring + SpringMVC + Mybatis 整合,实现 CRUD (增删改查)
- hibernate---CRUD增删改查流程
- Hibernate_关联关系中的CRUD_Cascade_Fetch
- Infragistics UltraWebGrid 控件的增删改查(CRUD)之非Batch更新操作
- Infragistics UltraWebGrid 控件的增删改查(CRUD)之Batch更新操作
- Hibernate概念深入和CURD(增删改查)
- Android学习---数据库的增删改查(sqlite CRUD)
- Hibernate的手动基本配置和DAO类增删改查方法的封装
- hibernate实现增删改查的各种方法
- hibernate简单程序,实现从页面对数据库的增删改查(主从表关联)
- Hibernate的手动基本配置和DAO类增删改查方法的封装