Изменение типа данных ссылки [hasMany:] на список? - PullRequest
2 голосов
/ 21 марта 2011

Есть ли способ изменить тип данных определения static hasMany = [myList: Stuff] в граалях?Я попытался

List<Stuff> myList
hasMany = [myList : Stuff]

, но мои существующие тесты начали выдавать

Stuff._MyContainer_mylistBackref; nested exception is org.hibernate.PropertyValueException: not-null property references a null or transient value

, что указывает на то, что эти два не эквивалентны с точки зрения того, как они обрабатываются.Что я тут не так делаю?

1 Ответ

3 голосов
/ 22 марта 2011

Как описано в разделе 5.2.4 руководства Grails , это правильный способ сделать коллекцию List.

Я подозреваю, что проблема в том, что по умолчанию ограничение nullable(false) применяется ко всем свойствам класса домена, и вы пытаетесь сохранить нулевое значение для этого свойства. Чтобы исправить это, добавьте ограничение, которое позволяет этому свойству быть нулевым (если это то, что вы хотите

List myList
static constraints = {
    myList(nullable: true)
}

В качестве альтернативы, убедитесь, что свойство не является нулевым, прежде чем объект будет проверен / сохранен.

...