为关系覆盖 grails 域类中的 getter 和 setter [英] Override getter and setter in grails domain class for relation
本文介绍了为关系覆盖 grails 域类中的 getter 和 setter的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何覆盖作为 grails 域类中一对多关系的字段的 getter 和 setter?我知道如何覆盖作为单个对象的字段的 getter 和 setter,但我对集合有问题.这是我的情况:
How to override getter and setter for field being a relation one-to-many in grails domain class? I know how to override getters and setters for fields being an single Object, but I have problem with Collections. Here is my case:
我有实体域类,它有很多标题.现在我想覆盖标题的 getter 以仅获取标志 isActive 等于 true 的标题.我试过类似的东西,但它不起作用:
I have Entity domain class, which has many titles. Now I would like to override getter for titles to get only titles with flag isActive equals true. I've tried something like that but it's not working:
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
.
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 域类中的 getter 和 setter的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文