Измените свой Book
класс на:
class Book {
static belongsTo = [authors: Author]
static mapping = {
authors column: 'author_id'
}
Integer id
Integer project_id
String name
}
Если вы не укажете mapping
подобным образом, GORM по умолчанию создаст, соответственно, ожидают таблицу JOIN.
(Кстати, классы доменов автоматически предоставляются с «виртуальным» свойством id
(типа Long
, я думаю, переводя в bigint
в PostgreSQL). Не нужно указывать его вручную, но оно также выиграло не навреди.)
РЕДАКТИРОВАТЬ : Обновлено в соответствии с комментариями спрашивающих:
Если книга может действительно иметь только одного автора, вы должны указать в Book
классе:
Author author
static belongsTo = [author: Author]
static mapping = { author column: 'author_id' }
Документацию GORM по отношениям один-ко-многим можно найти здесь .