2015-06-30 4 views
1

Я новичок и самообучение, поэтому, пожалуйста, медведь со мной ...Mapping один-ко-многим в Ггц

Я ломал мой мозг в течение нескольких дней на этой ошибке я получаю при попытке сопоставьте отношения «один ко многим» между моим классом Personnel и моим классом Probdata в GGTS.

Вот некоторые фрагменты код:

персонал класса {

static hasMany = [probations:Probdata,probterms:Probdata] 
static mappedBy = [probations:"lineNumber", probterms:"paysrId"] 

// статическое hasMany = [стажировки: Probdata] // статические mappedBy = [: стажировки "LINENUMBER"]

String lineNumber 
String paysrId 
    .... 


package benefitsapplication 

класс Probdata {

static belongsTo = [person:Personnel] 


String lineNumber 
String reportNumber 
String paysrId 
    ... 

Сначала я попытался сопоставить, используя 2 объекта (составной ключ), а затем попытался использовать один. Каждый раз, когда я получаю ту же ошибку:

«менеджер Ошибка загрузки плагина: Несуществующий отображение свойство [LINENUMBER] указано на имущество [пробации] в классе [benefitsapplication.Personnel]»

Тогда GGTS говорит использовать --stacktrace для деталей (о которых я не знаю, где это и как ее запускать)

Основываясь на моих собственных исследованиях, которые ни одна из моих книг не охватывает, метод Mapping() всегда используется для сопоставления между классами , но метод MappedBy() не обязательно используется.

Это, словом, что мне не хватает? Метод Mapping()? И должен ли я также поместить его в детскую таблицу? Или не обязательно? Нужен ли мне метод MappedBy()?

Связанный вопрос: Вначале я использовал идентификатор «Пробации» для обоих объектов. В моей попытке устранить неполадки я изменил это. Это даже имеет значение?

ответ

0

Таким образом, я задал этот вопрос на форуме, организованном издателями книги Grails in Action. Автор ответил и был очень полезным.

Он объяснил, что методы MappedBy() и Mapping() имеют дело с определенными объектами отображения в пределах домена классов одного и того же типа. Например, если у меня было 2 объекта типа Personnel.

MappedBy() и Mapping() не применяются к объектам типа String, которые не являются классами типа домена.

Смежные вопросы