Grails 创建可选的一对一关系';s unqiue

Grails 创建可选的一对一关系';s unqiue,grails,gorm,one-to-one,Grails,Gorm,One To One,我试图创建一个简单的一对一关系,但保留它的可选性。当我试图保存“Face”对象时,我得到了“必须是唯一的”验证错误。当用户添加新的“脸”时,不需要“鼻子”。在这个过程的后面,如果用户添加了一个“鼻子”,那么它需要是唯一的 class Face { Nose nose static constraints = { nose unique: true, nullable: true } } class Nose { } 正如tim_yates所提到的,它确

我试图创建一个简单的一对一关系,但保留它的可选性。当我试图保存“Face”对象时,我得到了“必须是唯一的”验证错误。当用户添加新的“脸”时,不需要“鼻子”。在这个过程的后面,如果用户添加了一个“鼻子”,那么它需要是唯一的

class Face {
    Nose nose
    static constraints = {
        nose unique: true, nullable: true
    }
}

class Nose {
}

正如tim_yates所提到的,它确实适用于Grails 2.1.1。我的应用程序出现配置问题

为了测试这一点,我使用以下简单测试编辑了FaceTests.groovy文件:

package demo

import grails.test.mixin.*
import org.junit.*

@TestFor(Face)
class FaceTests {

    void testSaving() {

       def face = new Face()
        assertNotNull face.save(flush:true)

    }
}
结果是:

grails> test-app
| Completed 2 unit tests, 0 failed in 451ms
| Tests PASSED - view reports in /Users/devin/Desktop/grails_demo_app/target/test-reports

我认为您必须为此编写一个自定义验证器Grails的什么版本?这对我来说适用于Grails2.1.1,我也在使用Grails2.1.1,但仍然会出现错误。这个例子已经被简化了,所以可能是其他原因导致了它。只是要明确一点,你没有任何脸,并且添加了第一个鼻子为空的脸?或者数据库中已有记录?