Удаление сущности Book
из коллекции books
в сущности User
просто удаляет связь между двумя сущностями (Book
и User
), а не экземпляром Book
сущности.
Предложение CASCADE
также не то, что вы ищете.Каскадирование означает, что если User
имеет books
, то есть набор экземпляров Book
, то при удалении экземпляра User
также удаляются экземпляры книги.
Итак, прочитайте getBooks().remove(thisBook)
как удалить эту книгу из этой коллекции , а не из базы данных .
И да, если вы хотите удалить книгу, вы должны использовать session.remove(book)
(или объект в вашем DAO).