Моделирование отношений «многие ко многим» в Grail поверх устаревшей базы данных

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

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

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

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

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

Спасибо!


person Heinrich Filter    schedule 05.05.2009    source источник


Ответы (1)


Вы можете использовать ключевое слово 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'] 
    }
}
person Ben Williams    schedule 05.05.2009
comment
Спасибо Бен Это именно то, что мне нужно! - person Heinrich Filter; 05.05.2009