请帮助您解决以下示例:
class Car {
static hasMany = [cd:Cd, fluffyDice:FluffyDice, wheel:Wheel]
}
class Wheel{
static belongsTo = [car:Car]
}
如何强制执行汽车至少有一个车轮?
答案 0 :(得分:5)
您可以使用minSize
约束。请注意,您需要初始化该集。通常你不这样做 - Grails会为你做这件事 - 但是对于null集合,约束不会触发:
class Car {
Set wheels = []
static hasMany = [wheels: Wheel]
static constraints = {
wheels minSize: 1
}
}
我将wheel
重命名为wheels
,因为它是一个集合,复数名称更自然,尤其是在添加元素时,例如车addToWheels(new Wheel(...))
。但这对功能没有影响。
答案 1 :(得分:0)
这将迫使至少有一个轮子或将抛出异常
class Car {
List wheels
static hasMany = [cds:Cd, fluffyDice:FluffyDice, wheels:Wheel]
}