Таблица отношений доступа в Grails - PullRequest
0 голосов
/ 19 марта 2010

У меня есть следующие классы доменов:

class Posts{
      String Name
      String Country
      static hasMany = [tags:Tags]

        static constraints = {
        }
    }


class Tags{

    String Name
    static belongsTo = Posts
    static hasMany = [posts:Posts]
    static constraints = {
    }
  String toString()
  {
      "${TypeName}"

  }
}

Grails создает еще одну таблицу в базе данных, т.е. Posts_Tags.
Мое требование:

например. 1 пост имеет 3 тега. Итак, в таблице Posts_Tags есть 3 строки.

Как я могу получить доступ к таблице Posts_Tags непосредственно в моем коде, чтобы я мог манипулировать данными или добавлять в нее еще несколько полей.

Ответы [ 2 ]

2 голосов
/ 19 марта 2010

Если вы хотите получить прямой доступ к объединяемой таблице (Posts_Tags) или добавить к ней свойства, вы должны определить ее как отдельный класс PostTag домена.Затем вы разбиваете отношения «многие-многие» между Post и Tag на 2 отношения «один ко многим» (одно от Post до PostTag и одно от Tag до PostTag).

Вот подробный пример того, как выполнить сопоставление и добавить свойства в таблицу соединений - в этом примере Membership - это таблица соединений.

0 голосов
/ 19 марта 2010

Используйте обычный Groovy SQL API.Пример того, как получить отличный SQL-объект и выполнить SQL-запросы, см. this

...