Grails 域约束定义

标签 grails groovy

我有一个带有 -simplified - 域类的 Grails 应用程序,如下所示:

class Capacity {

static constraints = {              
    month(blank:false, nullable:false)
    company(blank:false, nullable:false)
}


Date month    
Company company
String note
...
}

月-公司必须是唯一的。 (即它们应该是数据库的主键)。

我如何定义这样的约束?

非常感谢提前

路易斯

最佳答案

由于您希望这是一个 composite primary key在数据库中,您必须声明该映射:

class Capacity implements Serializable {
    Date month    
    Company company
    String note
    ...

    static mapping = { 
        id composite:['month', 'company'] 
    } 
}

产生下表(MySQL):
CREATE
    TABLE capacity
    (
        MONTH DATETIME NOT NULL,
        company_id bigint NOT NULL,
        version bigint NOT NULL,
        note VARCHAR(255) NOT NULL,
        PRIMARY KEY (MONTH, company_id),
        INDEX FKFBF514BA69595C7A (company_id)
    )
    ENGINE=MyISAM DEFAULT CHARSET=latin1

关于Grails 域约束定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2073210/

相关文章:

validation - 在Grails中,如何在电子邮件验证程序约束中允许使用更新的DNS?

grails - Grails:BootStrap.groovy类的编码

grails - Groovy/Grails 入门?

java - 使用 Grails Webflow Controller 的方法或闭包?

groovy - 使用RESTClient将xml文件上传到Artifactory时文件过早结束

java - 如何给 groovy 闭包参数一个类型

grails - 创建通用Gant脚本

Grails:Spring Security CAS 在 2.2.3 中工作,但在 2.3.0 中不起作用

grails - Groovy,Grails;每周为变量添加+1

java - 将 Java 代码转换为 Groovy