【发布时间】:2013-02-13 07:31:53
【问题描述】:
我正在开发一个 Grails 应用程序。我们有一个名为 User 的域对象,而 User 的属性之一是 Role 对象列表。角色有几个属性,其中之一是“名称”。
我需要找到在其角色列表属性中具有特定名称的角色的所有用户对象。
User: List<Role> roles
Role: String name
因此,给定一个用户列表,我需要在其角色列表属性中找到名为“SUPERUSER”的角色的所有用户。
后端的数据库是 MongoDB,所以我们不能使用 SQL 查询或类似的东西(应用程序根本不使用 Hibernate)。据我所知,动态查找器和 CriteriaBuilder 解决方案都可以。
任何帮助将不胜感激。我想我忽略了一些明显的事情,因为在我看来这并不应该那么难。至少如果我在写 SQL 就不会。
【问题讨论】:
-
user.roles.contains(Role.findByName("SUPERUSER")) -
@james 不是这样。我不希望返回关于用户是否包含该角色的布尔值,我想要使用 GORM 包含该角色的用户列表。
-
@tim_yates 我在那里没有看到实际的编辑。
-
哦,groovy 标签被删除了。我想这是有道理的。
-
角色是域对象吗?它们是如何映射的?
标签: mongodb grails grails-orm