grails - hasMany列上的gorm过滤器

标签 grails subquery gorm

我有2个domainClasses,如下所示:

class Customer {
   def name   
   static hasMany = [accounts:Account]
}

class Account {
   def accountNo
   def type
}

这里的帐户类型可以是“保存”,“当前”,“FD”

我想编写一个条件来搜索所有帐户类型为“保存”,“当前”的客户。

我应该在以下条件下尝试使用什么标准:
def customers = Customer.createCriteria().list {
    accounts {
         and {
            eq('type','Saving')
            eq('type','Current')
        }
    }
}

但是,当它执行时,会创建内部连接,结果为0。

最佳答案

您可以使用or代替Y. Tarion建议的and,也可以使用in:

def types = ["Savings", "Current"]
def customers = Customer.createCriteria().list {
    accounts {
        "in" "type", types
    }
}

关于grails - hasMany列上的gorm过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42247395/

相关文章:

grails i18n 错误自定义 : various inconsistencies

JavaScript 库中的 Grails 应用程序上下文

grails - 从Grails 2.5.4升级到3.1.8,GORM错误

mysql - 使用子选择和分组进行排序

mysql - 将带有子查询的 MySQL 转换为 DQL 1.2

search - 如何使用具有域hasMany成员的findByAll?

grails - 填充表的“version”锁定值

grails - 如何创建 Grails HAL 转换器

hibernate - org.hibernate.StaleObjectStateException:行已由另一个事务更新或删除(或未保存的值映射不正确)

mysql - mysql子查询中的未知列