2009-05-05 3 views
3

Ich habe eine einfache Ticket-Logging-Anwendung, die auf LAMP basiert.Modellierung der Viele-zu-Viele-Beziehung in Grail über einer Legacy-Datenbank

Ich spiele gerade mit Grallen herum. Ich möchte eine Demo-App erstellen, die die vorhandene MySql-Datenbank verwendet, ohne die Datenbank zu sehr zu ändern.

Es gibt eine Viele-zu-Viele-Beziehung in der Datenbank: Die Tabelle 'client' wird über die Tabelle 'cliet_contact' der Tabelle 'user' zugeordnet (d. H. Nicht die Konvention 'client_user').

Wie würde ich dies in Grails Domain-Klassen mit Gral 1.1 übersetzen?

Jede Hilfe wäre willkommen.

Danke!

Antwort

5

Sie können das Schlüsselwort joinTable in Ihrem Mapping verwenden, um den Tabellennamen anzugeben. Hier ist das Beispiel von dieser Seite:

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'] 
    } 
} 
+0

Dank Ben , dass genau, was ich brauchte! –