如何使用相关表中的数据更新关系表的字段

问题描述 投票:-1回答:1

我需要更新我的关系表的值。我在关系表中有book_idauthor_id,我从Book表和作者表的Id值获得Idvalue,我想从author_id改变book_id

我使用Grails做到了这一点,但它没有用。我正在使用包含Hibernate和Spring的Grails框架。

        Book bookToEdit = Book.findById(bookId)
        Author newAuthor = Author.findById(authorId)
        BookAuthor bookAuthor = BookAuthor.findByBook(bookToEdit)
        bookAuthor.author = newAuthor
        bookAuthor.save(flush:true)

当我调试此代码,提交我的更改时,我会收到作者的原始ID,而不是提交的更改。

java grails
1个回答
0
投票

你不应该自己编辑关系表。如果你有一个Book类,如:

class Book {
   String title
   Author author
}

然后你应该能够这样做,关系表将适当更新:

Book bookToEdit = Book.findById(bookId)
Author newAuthor = Author.findById(authorId)
book.author = newAuthor
book.save(flush:true)
热门问题
推荐问题
最新问题