我正试图与grails/gorm建立一对多的关系.我不明白如何处理一个空列表.
这是我的域类:
class Parent {
List children
static hasMany = [children: Children]
}
这是我的测试:
void testEmptyChildren() {
def parent = new Parent()
assert 0, parent.children.size()
}
这失败了"java.lang.NullPointerException:无法在null对象上调用方法大小()"
我应该做些什么来处理空列表?
在您的测试中,parent.children将始终为null(在添加第一个之前,不会初始化子项).所以你可以把测试改为:
assertNull parent.children
Run Code Online (Sandbox Code Playgroud)
保存父项时(无论是否添加子项)或添加子项时,将初始化子项.如果您希望始终初始化它,则可以在定义子项时在Parent中手动执行:
List<Children> children = new ArrayList<Children>()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4852 次 |
| 最近记录: |