创建一个独特的可选一对一关系

时间:2012-09-25 14:10:30

标签: grails gorm one-to-one

我正在尝试创建一个简单的一对一关系,但保留它是可选的。当我尝试保存“Face”对象时,我得到“必须是唯一的”验证错误。当用户添加新的“面部”时,不需要“鼻子”。在此过程的后期,如果用户确实添加了“鼻子”,则它必须是唯一的。

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

class Nose {
}

1 个答案:

答案 0 :(得分:1)

就像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