代码之家  ›  专栏  ›  技术社区  ›  Quang Dat Pham

如何在提交事务之前删除子元素?

  •  0
  • Quang Dat Pham  · 技术社区  · 8 年前

    我想在删除库之前删除所有书架和书本

    public void deleteLibrary(Long library_id) {
        File fileImage = new File("");
        Library library = libraryDao.get(library_id);
    
        User user = userDao.get(SecurityUtil.getPricipal());
        library.deleteAllLibrarian(roleDao.getRoleByName(RoleName.LIBRARIAN));
        library.deleteAllEmployee(roleDao.getRoleByName(RoleName.EMPLOYEE));
    
        for(Shelf s:library.getShelves()) {
             library.delete(s);
             s.setLibrary(null); //delete shelf  // a shelf contain many book
        }
    
        libraryDao.delete(library); //delete library
    }
    

    删除时出错 图书馆 因为所有的书都没有被删除。

    删除的对象将通过层叠重新保存(从关联中删除删除的对象):[com.quangdata.entities.Book#7]

    0 回复  |  直到 8 年前