Hibernate 从SQL转换为HQL
我有一个类似champ的SQL查询:Hibernate 从SQL转换为HQL,hibernate,grails,hql,Hibernate,Grails,Hql,我有一个类似champ的SQL查询: select u.id from morder_item mi join book b on b.id = ${book.id} join book_product bp on bp.book_id = b.id join morder mo on mo.id = mi.morder_id join user u on u.id = mo.user_id where mi.book_product_id = bp.id 我试图将其转换为HQL,但问题是我看
select u.id
from morder_item mi
join book b on b.id = ${book.id}
join book_product bp on bp.book_id = b.id
join morder mo on mo.id = mi.morder_id
join user u on u.id = mo.user_id
where mi.book_product_id = bp.id
我试图将其转换为HQL,但问题是我看到的所有示例都过于简单,根本不处理连接。我需要获取所有用户ID,但查询来自MOrderItem域。感谢您的帮助
更新:为了帮助进行转换的人员:
class MOrder {
static hasMany = [items: MOrderItem]
static belongsTo = [user: User]
}
class MOrderItem {
BookProduct bookProduct
static belongsTo = [morder: MOrder]
}
class User {
static hasMany = [morders: MOrder]
}
class BookProduct {
static belongsTo = [book: Book]
}
这似乎适用于一些人为的数据:
def userIds = AnyDomainClass.executeQuery('''
select u.id
from User u join u.morders mo
join mo.items mi
where mi.bookProduct.book=:book
''',
[book: book])
这似乎适用于一些人为的数据:
def userIds = AnyDomainClass.executeQuery('''
select u.id
from User u join u.morders mo
join mo.items mi
where mi.bookProduct.book=:book
''',
[book: book])
谢谢你,伯特!非常感谢你的帮助。谢谢伯特!非常感谢你的帮助。