【问题标题】:Grails GORM mapping contraints for varchar columnsvarchar 列的 Grails GORM 映射约束
【发布时间】:2015-07-13 05:36:43
【问题描述】:

我正在审查以前的员工编写的代码,这些代码与我的项目相同。在查看他们的代码时,我遇到了许多类似于此的Domain 类约束:

String title
String notes

static mapping = {
    .....
    title column: 'title'
    notes column: 'notes'
    .....
}

static constraints = {
    .....
    title nullable: false, size: 1..50, blank: true
    notes nullable: true, size: 0..500, blank: true
    .....
}

我明白null 值和空字符串是不同的,因此nullableblank 约束。但是您真的应该将0 指定为nullable 列的最小长度并将1 指定为那些non-nullable 列吗?

如果确实如此,那么与那些不使用类似约束的Domains 有什么区别?在阅读他们的代码之前,我已经编写了许多 Domain 类,只使用 only nullable 约束,它们工作得很好。

【问题讨论】:

    标签: database grails grails-orm


    【解决方案1】:

    我认为约束存在冗余。

    我会把它重构成这样的:

    static constraints = {
        .....
        title nullable: false, max:50
        notes nullable: true, max:500
        .....
    }
    

    【讨论】:

    • blank 约束怎么样?当nullable 约束设置为true 时,不应该使用blank 约束吗?
    • 否,空白:true 基本上表示允许长度为零 空白:false 表示不允许长度为零
    猜你喜欢
    • 2015-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-08
    • 2022-11-23
    相关资源
    最近更新 更多