のような理論上のHQLクエリを実行したとしますFROM Customer
。そして、オブジェクトのManyToOneコレクションを返すゲッターがありCustomer
ます。これにより、Orderへの左結合を持つCustomerから選択するSQLステートメントが実行されます。getOrders()
Order
オブジェクトモデルを通じて、プログラムで顧客を反復処理してから、注文を反復処理できます。
ただし、階層オブジェクトモデルを左結合のフラットな表形式の結果に変換して、結果がこのSQLクエリの結果とよく似るようにします。
SELECT *
FROM Customer
LEFT JOIN Order on Customer.customerId = Order.customerId
サンプル結果:
Customer.customerId ... Order.orderId Order.customerId ...
1 200 1
2 201 2
2 202 2
3 NULL NULL
Hibernateでこれを行う簡単な方法はありますか?