grails - 如何将Grails findAll与来自复杂对象的toString一起使用?

标签 grails gorm

有什么方法可以将Grails findAll用于复杂对象中的toString?

我有一个名为Person的对象(示例)。

Person具有firstName和lastName属性,并且有一个toString方法返回“FirstName:” + firstName +“LastName:” + lastName

还有另一个具有名为Group的Person的对象。
组具有“人”的属性。

我想像这样搜索:

Group.findAll{
    ilike("person.toString", "%FirstName%")
}

我得到以下内容:
could not resolve property: person.toString of: com.test.Group. Stacktrace follows:
Message: could not resolve property: person.toString of: com.test.Group
    Line | Method
->>  670 | doCall               in grails.gorm.DetachedCriteria$_list_closure2

有什么方法可以将findAll与toString方法进行比较?我无法创建getFirstAndLastName,因为该对象是另一个项目的插件,无法修改。

最佳答案

Is there a way to use findAll comparing to a toString method?



否。在实体上调用toString或任何其他方法的唯一方法是检索它们,将它们带入应用程序,以便可以创建实例,然后调用这些方法。如果toString恰好返回了您可以模拟而无需实际调用该方法的内容,则您可能有选择,但对问题的回答为“否”。

希望对您有所帮助。

关于grails - 如何将Grails findAll与来自复杂对象的toString一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31329849/

相关文章:

hibernate - 使用Criteria Builder在一对多中查询另一种方式

sorting - Grail域模型关联对多个字段的默认排序

grails - HQL查询加入彼此一无所知的两个域

email - Grails - 动态更改邮件插件的配置

grails - 将选定的单选按钮值传递给Groovy Controller

groovy - Grails 1.2.x脚本不起作用

java - 有什么方法可以区分一个类是来自 Groovy/Grails 还是原始 Java?

maven - Grails应用程序包使用Maven开战

mongodb - Grails 3使用_id和id保存mongoDB文档

grails - Grails删除双向一对一关联