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
