I think I can make it by
Code:
return em.createQuery(
"select i from OrderLineItem i where i.order.id = :orderId").
setParameter("orderId", orderId).getResultList();
But that causes Hibernate execute an unnecessary SQL as below (the first one is not necessary)
Code:
select *
from orderlineitem where orderlineitem.orderid=?
select *
from orderlineitem
where orderlineitem.order_id=? order by ...
I can also make it by another query
Code:
return em.createQuery(
"select o.orderLineItemList from Order o where o.id = :orderId").
setParameter("orderId", orderId).getResultList();
But this also gives an unnecessary SQL like this:
Code:
select *
from oder inner join orderlineitem on order.id=orderlineitem.orderid
where order.id=?
select *
from orderlineitem
where orderlineitem.orderid=? order by ...
How can I get only one query like
Code:
select * from orderlineitem where orderlineitem.orderid=?