チャンピオンのように機能する次の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に変換しようとしていますが、問題は、表示されるすべての例が非常に単純であり、結合をまったく処理しないことです。すべてのユーザー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]
}