Zdravím,

WHERE res.class != Zamestnanec

nebo

WHERE res.class = Osoba

by nezafungovalo? Hádám podle http://www.hibernate.org/hib_docs/v3/reference/en/html/queryhql.html#queryhql-polymorphism :-)

Filip Jirsák

2006/3/15, Ondřej Fafejta KYBERIE < [EMAIL PROTECTED]>:
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



--
Filip Jirsák
[EMAIL PROTECTED]

Odpovedet emailem