2014-11-17 3 views
0

Мой код выглядит что-то вродеGrails: does ownTo создать новый столбец для обратной ссылки?

class Person { 
    Nose nose 
} 

class Nose { 
    static belongsTo = [person:Person] 
} 

Это должно создать столбец внешнего ключа для носа на столе «человек», а также обратная ссылка колонка для лица на «нос» таблицы справа?

Там нет столбца генерируется для обратной ссылки на «нос» стол для меня прямо сейчас, и мне было интересно, если это нормально ...

http://grails.org/doc/latest/ref/Domain%20Classes/belongsTo.html (Похоже, это то, что документация говорит , но я думаю, что я интерпретировать это неправильно)

редактировать: я редактировал фрагмент кода, потому что я написал неправильную вещь вниз (не было кофе сегодня)

+0

Является ли недостающий знак равным знаком 'принадлежит [носу: носу]' опечатку (это должно быть 'принадлежитТо = [нос: нос]')? То же самое за отсутствие «статики»? –

+0

мой плохой, да, у меня есть ToT = [нос: нос] в моем действительном коде. Я исправлю это сейчас. – user3600512

ответ

0

Вы должны ссылаться на Человеке в Нос, а не сам Нос, например:

class Person { 
    Nose nose 
} 

class Nose { 
    static belongsTo = [person: Person] 
} 

ИЗМЕНИТЬ ПОСЛЕ КОММЕНТАРИИ: А, я вижу. Теперь, когда я снова читаю ваш вопрос, ожидали ли вы, что столбец person_id в Nose и nose_id столбец в Person? Поскольку это никогда не произойдет в GORM, по крайней мере, не автоматически - для вашей схемы только таблица Person будет содержать столбец nose_id для каждой документации.

+0

Я написал не ту вещь дважды, извините за это. У меня статическая принадлежностьTo = [person: Person] – user3600512

0

В Граалей мы используем belongsTo для каскадного цели, Вы должны использовать

class Nose { 
belongsTo = [person:Person] 
} 

да и в случае belongsTo обратная ссылка будет храниться в Нос имеющий person_id.

+0

Извините abdullah, у меня было несколько опечаток в моем вопросе. У меня статическая принадлежность. Too = [person: Person] – user3600512

+0

Вы получаете ненормальный результат в этом случае, если да, чем? – Abs

+0

ошибок нет. когда я назначаю экземпляр Person экземпляру носа и сохраняю, я не получаю ошибок, но когда я извлекаю этот экземпляр из базы данных, person_id устанавливается в null. Я также вижу, что нет колонки для person_id (обратная ссылка) на носовой стол. – user3600512