0
有人可以告訴我爲什麼在合併實體時沒有任何反應?JPA - 合併後沒有任何反應
User.java(實體)
@ManyToMany(mappedBy="users", targetEntity=Books.class,cascade = {CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH})
private List<Books> books;
Books.java(實體)
@ManyToMany (targetEntity = User.class,cascade = {CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH})
private List<User> users;
returnBookServlet.java
int userId = (int) session.getAttribute("userId");
String stringIdBook = request.getParameter("idBook");
UserDAO daoUser = (UserDAO) request.getAttribute("userDao");
User user = daoUser.getUser(userId);
List<Books> booksOrderedByUser = user.getBooks();
for (Books x : booksOrderedByUser) {
String idBookString = Integer.toString(x.getIdBook());
if (idBookString.equals(stringIdBook)) {
booksOrderedByUser.remove(x);
break;
}
}
user.setBooks(booksOrderedByUser);
entityManager.getTransaction().begin();
entityManager.merge(user);
entityManager.flush();
entityManager.getTransaction().commit();
entityManager.close();
後和foreach循環之前我顯示經由System.out.println()
列表它正確地刪除選擇的書,但沒有發生在數據庫中,我做錯了什麼?