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]
