HQL で右外部結合を実行しようとしています。クエリの作成は、次のように行われます。
Query query = this.sessionFactory
.getCurrentSession()
.createQuery(
"select
O.customer.id as id,
O.customer.firstName as firstName,
O.customer.lastName as lastName,
O.customer.address as address,
O.customer.city as city,
count(O.id) as totalOrders
from
Order O
right outer join O.customer
group by
O.customer.id");
mysql の SQL クエリは正常に動作していますが、HQL クエリは内部結合の結果を返しています。
SQL クエリは次のとおりです。
select c.id,
c.firstname,
c.lastname,
c.city,
count(o.id) as total_order
from orders o right outer join customers c
on c.id = o.customer_id group by id