我有一个名为Connection的Grails域。该域包含名为myFriend的用户即时消息。我想编写一个Query,返回myFriend.firstName为Dave的所有连接。由于此对象嵌入在Connection中,我不知道如何查询。有什么建议吗?我尝试使用FindAllBy和Where查询,但没有运气。
调查结果: 我想出了两个步骤来完成这项工作,但我希望尽可能让它成为一个过程。首先,我从Connection表中获取所有“myFriend的id”的列表,然后我使用它来查询User表并过滤firstName。然后使用inList从Connection表中获取其名称以某个字母开头的所有用户。
答案 0 :(得分:0)
我终于找到了基于这篇文章的解决方案:How to create criteria in groovy/grails for nested object?
在我的服务中
def criteria = Connection.createCriteria();
def results = criteria.list {
myConnection {
like("firstName", "${queryText}%")
}
};
return results;
我的域名
class User {
String firstName
}
class Connection {
User myConnection
}