grails - 如何在HQL/GORM中表达 "where value is in dynamic list"?

标签 grails hql grails-orm

对于 grails 应用程序,我需要找到一个对象列表,其“attr”是动态字符串列表中的一个。实际的 HQL 查询更复杂,但我需要帮助的是:

def result = MyObject.executeQuery("select o from MyObject as o where o.attr in :list",
    [list: aListOfStrings])

这显然不是正确的语法,Grails 将其作为“意外标记”返回给我,即 :list 参数。

这在 HQL 中可能吗?我并不是特别想在代码库的这一部分中使用 Criteria。

最佳答案

将 :list 放在括号中:

def result = MyObject.executeQuery(
    "select o from MyObject as o where o.attr in (:list)",
    [list: aListOfStrings])

关于grails - 如何在HQL/GORM中表达 "where value is in dynamic list"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2993064/

相关文章:

grails - 更改 [hasMany :] reference to a list?

grails - 获取 paypal rest api grails 的访问 token

twitter-bootstrap - Grails twitter-bootstrap插件未更新 Assets

grails - groovy:将字符串(列表)转换为Groovy列表

java - Hibernate 中的日期和时间跨度查询

grails - 在没有 Grails neo4j-plugin 和 GORM 的情况下在 Grails 中使用 Neo4j

grails - 如何修复Grails中的连接池泄漏?

java - 如何使用 HQL 获取以小时为单位的日期差异

java - hibernate 日期操作

mysql - 如何使用 Grails 2.0 获得可为空的约束?