首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >grails:即使在唯一约束之后插入的重复行

grails:即使在唯一约束之后插入的重复行
EN

Stack Overflow用户
提问于 2014-07-02 20:12:07
回答 2查看 184关注 0票数 0

我能够插入具有相同值的多个行( actionName:"discard“和actionParameter:"”)。我想避免这种情况。

其他约束运行良好,比如我无法两次插入actionName:"rate-limit“和actionParameter:"5”。

以下是我的域类:

类消除{

代码语言:javascript
复制
String actionName
String actionParameter

static hasMany = [actionFlow:Flow]

static constraints = {
    actionName(blank:false,nullable:false,inList:["discard","rate-limit","redirect"])
    actionParameter(blank:true,nullable:true,unique:'actionName',validator:{val,obj ->
                    if(obj.actionName == 'discard' && val != null){ return false}
                    else if(obj.actionName == 'rate-limit')
                    {
                        Utility util = new Utility()
                        if(!util.validateNum(val,0,2147483647))  {return false}

                    }
                    else if(obj.actionName == 'redirect')
                    {
                        if(val == null) {return false}
                        Utility util = new Utility()
                        if(!(util.validateIp(val) || util.validateIpAndPort(val) || util.validateASAndPort(val)) )  {return false}
                    }
    })

}

}

请让我知道是否有其他方法可以做到这一点?提前谢谢!!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-03 13:19:59

这是默认的实现,即唯一约束不适用于可空属性。请参阅https://jira.grails.org/browse/GRAILS-10403问题与https://jira.grails.org/browse/GRAILS-10178有关的问题。

票数 1
EN

Stack Overflow用户

发布于 2014-08-16 03:59:02

我在可空字段中使用'null‘值作为字符串来解决这个问题。这只是解决办法,而不是解决问题的办法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24540207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档