【发布时间】:2014-01-27 19:32:41
【问题描述】:
我有一个过滤器,例如假设名称 John Doe 是用户正在搜索的人。
我有以下域对象结构:Company--->Employee--->Name。其中员工是公司的属性,姓名是员工的属性。现在,过滤器用于名称属性,但我需要保留对公司的引用。所以例如我做了:
companyList.events.each {
if(it.employee!=null){
if(it.employee.name.toString().toLowerCase().contains(filter)){
filterSet.add(it)
}
}
不幸的是,对于 1500 个条目,此操作非常慢。但是,如果我做类似的事情,
def searchResults = Company.findAll{
employee.name == filter
}
它非常快,但我需要过滤器来匹配部分名称(即说Joh 仍将匹配John Doe。我知道有一个名为like 的操作,但我没有成功使用它。
任何帮助将不胜感激。
【问题讨论】:
标签: grails hql grails-orm