以下是一个例子:
@ManyToMany(targetEntity = Book.class,fetch = FetchType.EAGER, cascade = CascadeType.ALL)
public List<Book> getBooks() {
return books;
}
在另一堂课中:
@ManyToMany(targetEntity= Reader.class, fetch = FetchType.EAGER,cascade = CascadeType.ALL, mappedBy = "books")
@JoinTable(name="book_reader",joinColumns=@JoinColumn(name="id_reader",referencedColumnName="id_reader"),inverseJoinColumns=@JoinColumn(name="id_book",referencedColumnName="id_book"))
public List<Reader> getReaders() {
return readers;
}
我想在保存图书后更新新读者。但它没有用。
book.setReaders(readers);
然后
getSessionFactory().getCurrentSession().update(book);
我该如何解决这个问题?
答案 0 :(得分:0)
在多对多中,你需要设置双向。
前者
books.setReaders(readers);
for(Reader reader:readers)
reader.getBooks().add(book);
然后更新它将起作用。