2012-07-05 2 views
1

У меня есть два класса, каждый в разных пакетах, и между ними существует взаимосвязь «один ко многим». Как это делается? У меня есть:Grails - отношение ко всем таблицам между пакетами

package one 
class History { 
    String name 
    static hasMany = [fielderror:FieldError] 
} 

package two 
class FieldError { 
    String fieldName 
    static belongsTo = [history:History] 
} 

Если бы они были в одном пакете, это сработало бы, но это не так. Ошибка в пакете один является:

Groovy: Видимый переменная «FieldError» был найден в статическом объеме, но не относится к локальному переменному, статическому полю или классу.

Так что я думаю, мне нужно сделать ПАКЕТ один осознает пакет двух и наоборот. Как?

ответ

2

Добавить импорт, как для любого класса в другом пакете:

import one.FieldError 
+0

Import two.FieldError - То, что я думал, но я получаю сообщение об ошибке «Groovy: невозможно разрешить класс two.FieldError». Я заменяю FieldError на «*», а затем возвращается к исходной ошибке! – rtfminc

+0

Хорошо, вы правы. Кажется, IDE, которую я использовал, - springsource, когда он обнаруживает некоторые ошибки, он удерживает их (или теряется), даже когда вы их исправляете. Перезагрузили мою среду IDE, и, конечно же, ошибки ушли, а операции импорта. – rtfminc

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