Grails “свойство not-null ссылается на исключение null или transient value” в веб-потоке

StackOverflow https://stackoverflow.com/questions/2045855

  •  20-09-2019
  •  | 
  •  

Вопрос

Я получаю "исключение org.springframework.dao.DataIntegrityViolationException:свойство not-null ссылается на нулевое или переходное значение:A.b" исключение в веб-потоке в grails 1.1.2.есть

class B {
   ...
   static belongsTo = [a:A]
   ...
}

и

class A {
   ...
   static hasMany = [b:B]
   ...
}

Кто-нибудь знает, что не так?Спасибо Том

Это было полезно?

Решение

Решаемая.

Была и другая проблема.Я ни на чем не настаивал.Появились некоторые несоответствия между сериализованными данными в потоке и сохраненными данными в базе данных.Таким образом, запрос select вызвал это исключение.

Другие советы

Это действительно будет больше всего зависеть от того, каковы ваши параметры и как вы обрабатываете создание или обслуживание объектов GORM, а не от вашего фактического графика объектов.

Согласен с @John.Одно из распространенных решений заключается в том, что вы должны сохранять объект как

a.addToB(b)
a.save()

Надеюсь, это поможет.

Эта проблема связана с ORM (я предполагаю, что вы используете hibernate ниже).Проблема будет решена, если вы настроите свойство cascade для сопоставленных атрибутов.

Я не знаю, как настроить это в grails, но этот документ hibernate должен помочь вам понять, в чем проблема: http://docs.jboss.org/hibernate/stable/entitymanager/reference/en/html/objectstate.html#objectstate-transitive

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top