gpt4 book ai didi

grails - 如何设置基于hasMany关系的唯一类属性?

转载 作者:行者123 更新时间:2023-12-02 15:33:11 26 4
gpt4 key购买 nike

我有两个域类:

class Book {
String name

static hasMany = [articles: Article]
}


class Article {
String name

static belongsTo = [book: Book]
}

我想证明一本书在文章名称属性方面确实只有独特的文章。换句话说:同一本书中不得有同名文章。
我该如何确保?

最佳答案

您可以使用Book类上的自定义验证程序来执行此操作(请参阅documentation)。

可能的实现如下所示:

static constraints = {
articles validator: { articles, obj ->
Set names = new HashSet()
for (Article article in articles) {
if (!names.add(article.name)) {
return false
}
}
return true
}
}

在此示例中,我使用 java.util.Set检查重复的名称(如果两次添加相同的名称,则 Set.add()返回 false)。

您可以使用 myBookInstance.validate()触发对象的验证。

关于grails - 如何设置基于hasMany关系的唯一类属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16377182/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com