Как я могу обновить поле реляционной таблицы с данными из связанной таблицы - PullRequest
0 голосов
/ 30 апреля 2019

Мне нужно обновить значение моей реляционной таблицы.У меня есть book_id и author_id в реляционной таблице, и я получаю значение Id из таблицы Book и значение Id таблицы Author, и я хочу изменить author_id с book_id.

Я сделал это с помощью Grails, но это не сработало.Я использую инфраструктуру Grails, которая включает Hibernate и Spring.

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

Когда я отлаживаю этот код и отправляю свои изменения, я получаю исходный идентификатор от автора, а не отправленное изменение.

1 Ответ

0 голосов
/ 01 мая 2019

Вы не должны редактировать таблицу отношений самостоятельно. Если у вас есть класс Book, например:

class Book {
   String title
   Author author
}

Тогда вы сможете это сделать, и таблица отношений будет обновлена ​​соответствующим образом:

Book bookToEdit = Book.findById(bookId)
Author newAuthor = Author.findById(authorId)
book.author = newAuthor
book.save(flush:true)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...