6

grailsドメインクラスで1対多の関係であるフィールドのゲッターとセッターをオーバーライドする方法は? 単一のオブジェクトであるフィールドのゲッターとセッターをオーバーライドする方法は知っていますが、コレクションに問題があります。これが私のケースです:

多くのタイトルを持つエンティティ ドメイン クラスがあります。ここで、タイトルの 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'
    }
}

ご協力ありがとうございました。

4

1 に答える 1