Выравнивать объектную модель с помощью Gorm? - PullRequest
0 голосов
/ 18 марта 2011

Есть ли способ, которым я могу легко сгладить объект на одном столе в Горм?У меня есть несколько концептуальных сущностей, которые всегда должны быть присоединены к их родительскому классу.То есть у меня есть это:

class A{
   B other;
   String name;
   String value;
}

class B{
   String val1;
   String val2;
}

Есть ли способ аннотировать это так, чтобы val1 и val2 появлялись исключительно в таблице A?

Ответы [ 2 ]

2 голосов
/ 18 марта 2011

Добавить other во встроенный список в классе A:

class A{
   B other;
   String name;
   String value;

   static embedded = ['other']
}

См. Раздел 5.2.2, Состав в GORM: http://grails.org/doc/1.0.x/guide/5.%20Object%20Relational%20Mapping%20%28GORM%29.html

2 голосов
/ 18 марта 2011

Отметьте поле other со встроенным статическим свойством:

class A {
    B other
    String name
    String value
    static embedded = ['other']
}

Затем автоматически сгенерированная схема будет содержать два поля с именами other_val1 и other_val2 в таблице для `A '.

Если вы хотите, чтобы B объекты сохранялись только как часть объекта A, переместите B.groovy из grails-app/domain в src/groovy

...