Dobry den,

Ked si stiahnete: http://www.oracle.com/technology/tech/java/oc4j/ejb3/how_to/howtoejb30inheritance/howtoejb30inheritance.zip a pozrete zdrojaky 'LargeProject', tak nieco velmi podobne najdete tam.

@NamedQuery(
    name="findWithBudgetLargerThan",
    query="SELECT OBJECT(project) FROM LargeProject project WHERE project.budget >= :amount"
)

Martin Krajci
www.systinet.com

On 3/15/06, Ondřej Fafejta KYBERIE <[EMAIL PROTECTED] > wrote:
Zdravím Vás!

Mám základní dědičnost
Zamestnanec extends Osoba.

Jak napsat dotaz v EQL, abych získal pouze seznam Osob?
Díky tomu, že Zamestnanec JE Osoba, tak při dotazu

SELECT res FROM Osoba res

získám seznam Osob i Zaměstnanců
- což je objektově samozřejmě správně, ale já bych chtěl pouze seznam Osob.

------
Zkoušel jsem toto:

1. Použít AbstraktniOsobu - (To se mi moc nelíbí)
Osoba extends AbstraktniOsoba
Zamestnanec extends AbstraktniOsoba

2. EQL dotaz typu:
SELECT res FROM Osoba res LEFT JOIN Zamestnanec zam WHERE res.id=zam.id
AND zam IS NULL
To ovšem nefunguje.

3. Chtělo by to využít sloupeček v DB, který určuje typ objektu -
@DiscriminatorColumn.
Bohužel nevím, jak se dostat k hodnotě sloupečku přes EQL :-(.

Jak tento problém řešíte vy?

Díky
Fafi



--
Best regards,
Martin Krajci

Odpovedet emailem