Java 如何使用相关表中的数据更新关系表的字段
我需要更新关系表的值。 我在关系表中有Java 如何使用相关表中的数据更新关系表的字段,java,grails,Java,Grails,我需要更新关系表的值。 我在关系表中有book\u id和author\u id,我从book表中获得id值和author表的id值,我想从book\u id中更改author\u id 我使用Grails实现了这一点,但它不起作用。 我使用的是Grails框架,其中包括Hibernate和Spring Book bookToEdit=Book.findById(bookId) Author newAuthor=Author.findById(authord) BookAuthor BookAu
book\u id
和author\u id
,我从book表中获得id
值和author表的id
值,我想从book\u id
中更改author\u id
我使用Grails实现了这一点,但它不起作用。
我使用的是Grails框架,其中包括Hibernate和Spring
Book bookToEdit=Book.findById(bookId)
Author newAuthor=Author.findById(authord)
BookAuthor BookAuthor=BookAuthor.findByBook(bookToEdit)
bookAuthor.author=newAuthor
bookAuthor.save(刷新:true)
当我调试此代码并提交更改时,我收到的是作者的原始Id,而不是提交的更改。您不应该自己编辑关系表。如果您有一个图书类,如:
class Book {
String title
Author author
}
然后您应该能够执行此操作,并且关系表将相应地更新:
Book bookToEdit = Book.findById(bookId)
Author newAuthor = Author.findById(authorId)
book.author = newAuthor
book.save(flush:true)
非常感谢。我只是想更新表,但没有输入所有必要的值。