Grails многие ко многим с BaseClass и tablePerHierarchy false - PullRequest
0 голосов
/ 03 декабря 2018

На основании официального примера следующий пример завершится ошибкой с

org.hibernate.AssertionFailure: Table mm_author_books not found

Как я могу отобразить отношение многие ко многим в grails, если для tablePerHirachy установлено значение false?

 class SomeBase {

    static mapping = {
        tablePerHierarchy false

    }
 }

class Book extends SomeBase {

    String title

    static belongsTo = Author

    static hasMany = [authors: Author]

    static mapping = {
        authors joinTable: [name: "mm_author_books", key: 'mm_book_id' ]
    }
}

class Author extends SomeBase {

    String name

    List books

    static hasMany = [books: Book]

    static mapping = {
        books joinTable: [name: "mm_author_books", key: 'mm_author_id']
    }
}

1 Ответ

0 голосов
/ 05 декабря 2018

Если вы используете tablePerConcreteClass true вместо tablePerHierarchy false, это работает.Поскольку мы не используем абстрактный базовый класс, обе стратегии отображения будут создавать одно и то же DB-отображение.Поэтому я предполагаю, что это ошибка в текущем стеке gorm.Я отправил вопрос: https://github.com/grails/gorm-hibernate5/issues/112

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...