Hibernate之关联关系的CRUD

xiaoxiao2021-02-28  106

(一)要进行删除或者更新,需要先load(知道具体的ID除外,知道ID也可以直接使用HQL更方便)。

@Test public void testDeleteGroup() { testSaveGroup(); Session s = sessionFactory.getCurrentSession(); s.beginTransaction(); //User u = (User)s.load(User.class, 1); //u.setGroup(null); //s.delete(u); Group g = (Group)s.load(Group.class, 1); s.delete(g); //s.createQuery("delete from User u where u.id = 1").executeUpdate(); s.getTransaction().commit(); }

(二)如果要删除关联关系,先设定关系为null,再删除对应记录,如果不删除记录,该记录就编程垃圾数据了。

@Test public void testDeleteGroup() { testSaveGroup(); Session s = sessionFactory.getCurrentSession(); s.beginTransaction(); User u = (User)s.load(User.class, 1); u.setGroup(null); s.delete(u); //s.createQuery("delete from User u where u.id = 1").executeUpdate();//也可以使用hql语句来完成删除的操作,需要注意的是 这是面向对象的删除语句 s.getTransaction().commit(); }

对于使用HQL语言,可以实现更精确的控制(CRUD)

转载请注明原文地址: https://www.6miu.com/read-38299.html

最新回复(0)