Моделирование отношений «многие ко многим» в Grail поверх унаследованной базы данных - PullRequest
3 голосов
/ 05 мая 2009

У меня есть простое приложение для регистрации билетов на LAMP.

Я сейчас играю с граалями. Я хочу создать демонстрационное приложение, которое использует существующую базу данных MySql, не меняя ее слишком сильно.

В базе данных существует отношение «многие ко многим»: таблица «client» сопоставляется с таблицей «user» через таблицу «cliet_contact» (т. Е. Не стандартное соглашение «client_user»).

Как бы я перевел это в классы домена grails, используя grail 1.1?

Любая помощь будет оценена.

Спасибо!

1 Ответ

5 голосов
/ 05 мая 2009

Вы можете использовать ключевое слово joinTable в вашем отображении, чтобы указать имя таблицы. Вот пример с этой страницы:

class Book {
    String title 
    static belongsTo = Author 
    static hasMany = [authors:Author]
    static mapping = { 
        authors joinTable:[name:"mm_author_books", key:'mm_book_id' ] 
    }
}

class Author { 
    String name
    static hasMany = [books:Book]
    static mapping = { 
        books joinTable:[name:"mm_author_books", key:'mm_author_id'] 
    }
}
...