的hasMany映射在Grails的GORM选择

假设我有类似下面的设置:

class User { static hasMany = [items : Item]; } class Item { String name; }

我想选择所有Users有一个ItemhasMany映射。 我有一个项目的ID,并希望找到所有用户“拥有”该项目。

是否有一个HQL查询我可以运行,将做到这或更好,但一个内置在处理这个查询GORM功能?

假设这是直的SQL我会做这样的事情:

SELECT `user_id` FROM `user_item` WHERE `item_id`=[ID]

展望H2我可以编写查询

SELECT USER_ID FROM USER_ITEM WHERE ITEM_ID=1;

我可以扩大这个SQL,包括整个用户对象:

SELECT * FROM user, user_item WHERE user_item.item_id=[item id] AND user.id = user_user.user_items_id;

--------------解决方案-------------

这HQL将工作:

Item item = ...
Item.executeQuery(
'from User u where :item in elements(u.items)',
[item: item])

分类:Grails的 时间:2012-01-01 人气:0
本文关键词: Grails的,GORM
分享到:

相关文章

  • Hibernate查询逃逸(从Grails的GORM) - 再 2012-08-13

    我看过很多相关的问题,但他们都不是完全我的问题. 一般问题:究竟哪里指定怎样的事情在Hibernate中得到逃了出来,尤其是Grails的GORM? 具体问题: 我想执行此: "WHERE extractValue(field, '//value[@my_attribute=\""+localeStr+"\"]')" 你可以注意到,在localeStr没有逃脱,并列入字符串的另一个字符串. 我怎样才能逃避这个,如果可能的参数(喜欢的东西:参数)?

  • 是否有Grails的GORM MongoDB的插件,如搜索search()方法类似的方法? 2012-08-22

    我使用的Grails检索插件,现在我们已经切换到GORM MongoDB的插件. 该检索插件有一个方法搜索(),允许使用布尔连接器和通配符搜索所有字段. 是否有Grails的GORM MongoDB的插件类似的方法? 如果不是这样,这将是建立一个类似的方法中最好的做法? --------------解决方案------------- 检索,还有Elasticsearch插件似乎依靠Hibernate插件,不与MongoDB的GORM工作. 我实现了使用低级别的API蒙戈一个简单的搜索服务,蒙戈'

  • Grails的GORM相关空指针,只有在AWS ElasticBeanstalk运行时出现 2014-10-12

    我有我难倒,因为我无法在本地重现堆栈跟踪. 如果我部署我的Grails应用程序相同的.war到Tomcat 7的本地实例,一切正常. 如果我把它部署到AWS弹性魔豆,我在尝试保存对象(我用的http://grails.org/plugin/simpledb插件对象保存的SimpleDB)时除外. 难道是一个Java版本,因为魔豆Linux上运行的OpenJDK(本地我发展与​​普通的Java在Mac上)? 我曾尝试推出32位和64位实例. java.lang.NullPointerExcepti

  • Grails的GORM - 如何使用聚合函数时获得PagedResultList 2012-06-01

    我使用的是从Grails的1.2.1 GORM. 在这一点上升级的机会都没有. 这不是一个Grails应用本身; 相反,它是使用Groovy和利用格姆方便域模型持久性的Web应用程序. 我有这样一个查询: actionsByUser = UserAction.createCriteria().list() { projections { countDistinct('id', 'userCount') groupProperty('user') } firstResult(offset) max

  • Grails的/ GORM保存在错误的顺序 2012-06-27

    我使用的Grails 1.3.6,我有问题越来越保存到正确级联. 现在的问题是特异性地与具有两个父类的类. 我在尝试的一个简化版本是这样的: class Location { String city static hasMany = [authors: Author, publishers: Publisher] } class Author { String name static belongsTo = [location: Location] static hasMany = [books

  • Grails的GORM(休眠)查询 2012-06-30

    我试图做GORM下面的SQL语句 select * from table1 where table1.x not in (select x from table 2 where y='something'); 所以,我有两个表,并需要找到从表1,这是不表2.在Grails中的条目 def xx= table2.findByY('something') def c = table1.createCriteria() def result= c.list { not ( in('x', xx) )

  • Grails的GORM字段初始化问题 2013-07-14

    所以我有一个1:1的关系: class Number1 { Number2 n2 } class Number2 { belongsTo = [n2: Number2] } 现在,我想在课堂上数字1像初始化N2: class Number1 { Number2 n2 = New Number2(...).save() } 但是Grails是与Hibernate异常失败. 什么是这里的最佳实践用于初始化场这种关系? --------------解决方案------------- 我相信这里有一个错

  • GridFS的Grails中GORM支持蒙戈RC1? 2013-09-05

    有谁知道最新的Grails GORM为蒙戈插件支持GridFS的? 在文档看了,但找不到任何信息? 如果是这样,请你可能提供一个例子. --------------解决方案------------- 不,不支持呢. 您可以创建在http://jira.grails.org/browse/GPMONGODB功能请求

  • Grails的GORM:常规地图 2013-11-30

    具有以下域类: class Word { Map translations static hasMany = [translations: String] String toString(){ id } } 并保存在Grails的一些情况下引导: def word1 = new Word(translations: [en:"game"]); word1.save(failOnError: true, flush: true) def word3 = new Word(translat

  • Grails的GORM的findAll返回null集合 2014-01-30

    请看下面的域模型: class Sales{ String salesInvoice Customer customer } class Customer{ int customerNumber String name } 问题:我试图获取给定客户所有的销售. 这样的代码: def sales = Sales.findAllByCustomer(Customer.get(params.id)) 我没有问题获得顾客. 但是当我使用println sales.dump()我得到的东西像 <java.

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.158 (s). 10 q(s)