1

我有以下课程

class Audit {
    Status status = Status.ACTIVE
}

class Book{
    String name;
    Audit audit
    static embedded = ['audit']
    static belongsTo = [author:Author]
}

class Author{
    String name;
    Audit audit
    List books
    static embedded = ['audit']
    static hasMany = [books:Book]
}

我想为作者检索活动书籍。你能建议我这个查询吗?我正在尝试在 Author 中添加方法,如下所示

List<Book> getActiveBooks(){
}

或者如果有任何其他方式来检索我的书......仅作为活动书籍。请帮帮我

以下是带有列的表格

名称、审计状态、作者 ID

作者

名称,审计状态

4

2 回答 2

0

查看CriteriaBuilder

您可以使用它来搜索作者的状态(请参阅“查询关联”部分)。

将此与投影一起使用(请参阅“使用投影查询”)以获取书籍列表。

于 2012-10-02T14:45:25.807 回答
0

一种方法是在 Author 中添加一个 namedQueries 块,然后您可以调用

def activeBooks = Author.getActiveBooks().list()

这是名为Queries 的Author 类

class Author {
    static namedQueries = {
        getActiveBooks {
            books {
               audit{
                eq 'status', Status.ACTIVE
               }
           }
        }
    }
}

我假设 Status 也是一个域对象。如果是这样,GORM 将匹配状态对象的 id。
请仔细检查语法。

于 2012-10-10T02:08:26.900 回答