我正在尝试删除列表中的子元素

时间:2018-07-09 03:07:16

标签: spring hibernate

图书:

@ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.DETACH)
@JoinColumn(name = "LIBRARY_ID", nullable = false)
private Library library;

图书馆:

@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, orphanRemoval = true, mappedBy = "library")
private List<Book> books;

服务:

public void deleteBook(Long book_id) {
    Book book = bookDao.get(book_id);
    Library library = libraryDao.get(book.getLibrary().getId());

    library.getBooks().remove(book);    
    book.setLibrary(null);

}

已删除的对象将通过级联重新保存(从关联中删除已删除的对象):[com.quangdat.entities.Book#1]

1 个答案:

答案 0 :(得分:0)

我认为是因为进行平等检查。为您的SELECT DATE(c.enddate) FROM cohort c ORDER BY c.enddate DESC LIMIT 1类提供一个相等的方法,并检查其是否正常工作。