将 [hasMany:] 引用的数据类型更改为列表?

2024-01-11

有没有办法改变数据类型static hasMany = [myList: Stuff]grails 中的定义?我试过

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

但我现有的测试开始抛出

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

这表明两者在处理方式上并不等同。我在这里做错了什么?


如部分所述Grails 手册的 5.2.4 http://grails.org/doc/latest/guide/5.%20Object%20Relational%20Mapping%20%28GORM%29.html#5.2.4%20Sets,%20Lists%20and%20Maps,这是使集合成为一个的正确方法List.

我怀疑问题是默认情况下的约束nullable(false)应用于所有域类属性,并且您尝试为此属性保存空值。要解决此问题,请添加一个约束,允许该属性为空(如果这是您想要的)

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

或者,在验证/保存对象之前确保该属性不为 null。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 [hasMany:] 引用的数据类型更改为列表? 的相关文章

随机推荐