Zdravím, mám EJB3 entitu Order, která má 1:N vztah na Item (je to List) a té¾ 1:N na OrderState (je to Set, stav ve kterém se nachází Order). Oba vztahy jsou lazy loaded. Chci jedním EJB QL natáhnout Order vèetnì v¹ech Items a OrderStates: "SELECT DISTINCT o FROM Order o" + " INNER JOIN FETCH o.orderEvents e" + " INNER JOIN FETCH o.items i" + " WHERE o.id = 98305"
Order 98305 má jeden Item a dvì OrderEvents. Výsledný Order.items ale obsahuje 2x stejnou instanci Item. Je to zøejmì proto, ¾e SQL vrátí dva øádky, ka¾dý pro jeden OrderEvent a ORM mi z toho udìlá té¾ dvì (stejné) polo¾ky v seznamu items. Mo¾ná by problém vyøe¹ilo pou¾ít Set místo List na items, ale to nechci (items jsou øazeny podle èísla). Snad jsem problém popsal dostateènì. Nevím zda je toto vlastnost EJB3 ORM a nevím jak to elegantnì vyøe¹it. (JBoss 4.2.GA) Díky, Honza -- Jan Bares http://jan.vegetband.cz
