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



Odpovedet emailem