假设我有以下grail域实体:
class A { ... }
class B { ... }
在第三个实体中,我有一对多的关系如下:
class C {
static belongsTo = [a: A, b: B]
static constraints {
a unique: 'b'
}
}
grails中是否可以根据类a
中的两个属性(b
和C
)定义唯一关系,因此不能创建两个C
个实例拥有a
和b
的相同组合?
void testCompositeUniqueConstraint() {
A a = // ...
B b = // ...
C existing = // ...
existing.a = a
existing.b = b
mockForConstraintsTests(C, [existing])
C c = // ...
c.a = a
c.b = b
assertFalse c.validate()
}
在我的测试课上,我添加了@Mock([A, B])
注释。我希望这个测试能够失败,但它会通过。
答案 0 :(得分:1)
那就是
static constraints = {
a unique: 'b'
}