Java 无法使用grails和JPA将集合中新添加的项更新到数据库

Java 无法使用grails和JPA将集合中新添加的项更新到数据库,java,hibernate,grails,jpa,gorm,Java,Hibernate,Grails,Jpa,Gorm,我在grails中更新我的一个域(库)很长时间以来都面临问题,我试图在向其中添加一本新书后更新我的库,但添加的书无法保存 I have mapping of bookCollection in my domain Class Library as below: @OneToMany(cascade = CascadeType.ALL, mappedBy = "Library") Collection<Book> bookCollection; I am trying t

我在grails中更新我的一个域(库)很长时间以来都面临问题,我试图在向其中添加一本新书后更新我的库,但添加的书无法保存

I have mapping of bookCollection in my domain Class Library as below:

@OneToMany(cascade = CascadeType.ALL, mappedBy = "Library")
    Collection<Book> bookCollection;


I am trying to add a new book to my Library(Initially there is no book in  bookColletion):

Library library = Library.get(1)
Book book=Book.get(1)
library.bookCollection.add(book)

and update it:
library.save(flush:true,failOnError: true)

Library is got saved but  my book is not.

I am using grails and JPA.
我的域类库中有bookCollection的映射,如下所示:
@OneToMany(cascade=CascadeType.ALL,mappedBy=“Library”)
收藏书籍收藏;
我正在尝试向我的图书馆添加一本新书(最初BookCollection中没有书):
Library=Library.get(1)
Book=Book.get(1)
library.bookCollection.add(图书)
并更新:
library.save(flush:true,failOnError:true)
图书馆已保存,但我的书未保存。
我正在使用grails和JPA。

谢谢

您没有设置关系的另一面:
图书的

Library library = Library.get(1)
Book book=Book.get(1)
library.bookCollection.add(book)
book.library = library; // <--- sets the other side of the relation
Library=Library.get(1)
Book=Book.get(1)
library.bookCollection.add(图书)
book.library=图书馆//