Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用相关表中的数据更新关系表的字段_Java_Grails - Fatal编程技术网

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)

非常感谢。我只是想更新表,但没有输入所有必要的值。