如何在 Grails 中搜索其集合包含另一个元素的元素?

2024-01-21

假设我有一个名为“User”的域类,它可以跟随其他“User”对象。它这样做的时候有一个字段指定为:

def hasMany=[followedUsers:User]

我需要执行相反的操作(查找遵循特定 User 对象的所有 User 对象)而不设置反向关系,因为它不是经常执行的用例。我尝试使用闭包来做这样的事情:

User.findAll { it.followedUsers.contains(userInstance) }

但这总是返回数据库中的所有用户,无论他们的关注状态如何。我尝试使用 HQL 进行操作,但也惨遭失败。

谁能给我一个关于完成此任务的最简单方法的快速指示?谢谢。


您可以使用此 HQL 查询:

User.executeQuery(
   'select u from User u where :follower in elements(u.followedUsers)',
   [follower: userInstance])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Grails 中搜索其集合包含另一个元素的元素? 的相关文章

  • 使用 ReadonlyMap 类型

    TypeScript 定义ReadonlyMap
  • Grails:在域类中动态注入服务

    我需要注入基于域属性的服务 到目前为止我想出了以下内容 ApplicationHolder application getServiceClass package property Service clazz 但以这种方式加载它不会注入它的
  • Grails 测试中的模拟配置

    在 Grails 2 0 X 之前 可以使用mockConfig测试扩展的基类提供的方法 然而 在 Grails 2 0 X 中 建议测试类使用 TestFormixin 而不是扩展基类 这个 mixin 似乎没有提供任何与mockConf
  • grailsGrails 单元测试中的应用程序访问

    我正在尝试为使用 grailsApplication config 进行一些设置的服务编写单元测试 看来在我的单元测试中 服务实例无法访问其设置的配置文件 空指针 而当我运行 run app 时它可以访问该设置 我如何配置服务以在单元测试中
  • 带有第 3 方库的 Grails Asset-Pipeline 系统

    Grails2 4 现在使用的是资产管道用于管理和处理 Grails 应用程序 而不是资源系统 中的静态资产 这是相当新的 互联网上还没有太多关于它的文档 我的问题是 如何正确处理第三方库 例如 select2 http ivaynberg
  • 如何在没有objectid字段的mongodb集合上查找上次更新/插入/删除操作时间

    我在 MongoDb 数据库中有一些未使用的集合 我必须找出对数据库中的集合执行 CRUD 操作的时间 我们有自己的 id字段 而不是mongo默认的object id 我们没有任何时间在集合中归档以找出修改时间 有没有办法从元数据中找出m
  • 调试 Bootstrap.groovy 的最佳方法是什么?

    我正在将一些数据插入数据库 但即使我看不到任何验证错误 某些对象也没有插入 使用 stacktrace 或 sql 出错的最佳方法是什么 以便我可以找出问题所在 例如我这样做 new XXXXX property blah save flu
  • 直接链接到普惠制

    在一个普惠制中 是否可以创建到另一个普惠制的直接链接 我知道我可以使用
  • Java ArrayList 和 HashMap 动态

    有人可以提供一个创建Java的例子吗ArrayList and HashMap在飞行中 所以而不是做一个add or put 实际上在类实例化时为数组 哈希提供种子数据 举个例子 类似于 PHP 的例子 array array 3 1 2
  • .NET 中 UniqueQueue 和 UniqueReplacementQueue 集合最有效的实现

    考虑到入队和出队操作的速度同样重要 NET 中 UniqueQueue 和 UniqueReplacementQueue 集合最有效 就速度而言 的实现是什么 UniqueQueue是一个不可能出现重复的队列 因此 如果我将一个元素推送到队
  • Java:迭代 Collection 的最佳方法(此处为 ArrayList)

    今天 当我看到一段我已经使用了数百次的代码时 我很高兴地开始编码 迭代集合 此处为 ArrayList 出于某种原因 我实际上查看了 Eclipse 的自动完成选项 这让我想知道 在什么情况下以下循环比其他循环更好使用 经典的数组索引循环
  • 具有自定义权限的 Grails ACL

    Grails 的 Spring Security ACL 插件默认使用具有 4 个基本权限的 BasePermission 类 并使用DefaultFactory来分配此权限 以及分配此 DefaultFactory 的 AclPermis
  • Grails 3.x bootRun 失败

    我正在尝试在 grails 3 1 11 中运行一个项目 但出现错误 失败 构建失败并出现异常 什么地方出了错 任务 bootRun 执行失败 进程 命令 C Program Files Java jdk1 8 0 111 bin java
  • WeakHashMap 和强引用值

    Javadocs 说 当一个密钥被丢弃时 它的条目是有效地从地图上删除 但除非有另一个线程偶尔删除这样的Map Entry条目 值对象不会被映射强引用吗 但由于没有这样的线程运行 只有get方法调用可以删除此类条目 一次一个 我几乎总是使用
  • AbstractCollection 的 toArray 方法的实现中的代码有什么用

    public Object toArray Estimate size of array be prepared to see more or fewer elements Object r new Object size Iterator
  • 我可以使用文本编辑器(例如 Sublime Text 2)调试 Grails 应用程序吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何处理GORM异常

    我正在尝试对 Hibernate 引发的乐观锁类 型异常实现异常处理 但我遇到了一个奇怪的问题 看来我无法捕获任何 Gorm 异常 例如 我的服务中有以下代码 try User user User get 1 Thread sleep 10
  • 无法将 [] 索引应用于“System.Collections.Specialized.NameValueCollection”类型的表达式

    我已经尝试了一切方法来访问 AppSettings 但无法使其正常工作 我有一个需要访问网络 AppSettings 的类库 我查过了 没有 System Collections Specialized NameValueCollectio
  • 如何使用 JAXB 编组/取消编组 MyBean 集合

    我有一个带有注释的 MyBean XmlRootElement public class MyBean 编组 解组 MyBean 没有问题 例如 JAXBContext jaxbCtx JAXBContext newInstance MyB
  • Grails - 没有方法签名适用于参数类型

    我从 Grails 开始 主要使用 Eclipse 插件 并且在 Grails 读取 Java src 文件时遇到了麻烦 无论是 bin 文件夹中的 jar 还是 src java 文件夹中的 Java 文件 我创建了一个示例 说明如何从控

随机推荐