gpt4 book ai didi

grails - 为关系覆盖 grails 域类中的 getter 和 setter

转载 作者:行者123 更新时间:2023-12-04 15:23:45 26 4
gpt4 key购买 nike

如何在grails域类中覆盖一对多关系的字段的getter和setter?我知道如何覆盖作为单个对象的字段的 getter 和 setter,但我对集合有问题。这是我的情况:

我有实体域类,它有很多标题。现在我想覆盖标题的 getter 以仅获取标志 isActive 等于 true 的标题。我试过类似的东西,但它不起作用:

class Entity {

static hasMany = [
titles: Title
]

public Set<Title> getTitles() {
if(titles == null)
return null
return titles.findAll { r -> r.isActive == true }
}

public void setTitles(Set<Title> s) {
titles = s
}
}

class Title {
Boolean isActive

static belongsTo = [entity:Entity]

static mapping = {
isActive column: 'is_active'
isActive type: 'yes_no'
}
}

感谢您的帮助。

最佳答案

需要引用Set<Title> titles .

class Entity {
Set<Title> titles

static hasMany = [
titles: Title
]

public Set<Title> getTitles() {
if(titles == null)
return null;
return titles.findAll { r -> r.isActive == true }
}

public void setTitles(Set<Title> s) {
titles = s
}
}

关于grails - 为关系覆盖 grails 域类中的 getter 和 setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17169657/

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