hi all,

while playing aoround with extent aware path expressions, i found that the
current implementation does not work due to caching of sql statements.

i queried for the query i did is :

crit.addEqualTo("allArticlesInGroup.productGroupId", new Integer(5));
Query q = QueryFactory.newQuery(ProductGroup.class, crit, true);

because 'allArticlesInGroup' points to a class with two extents  the 3
following queries should have been executed (one for Artikel, Books and CDs)

SELECT DISTINCT A0.KategorieName,A0.Kategorie_Nr,A0.Beschreibung FROM
Kategorien A0 INNER JOIN Artikel A1 ON A0.Kategorie_Nr=A1.Kategorie_Nr WHERE
A1.Kategorie_Nr = '5'

SELECT DISTINCT A0.KategorieName,A0.Kategorie_Nr,A0.Beschreibung FROM
Kategorien A0 INNER JOIN Books A1 ON A0.Kategorie_Nr=A1.Kategorie_Nr WHERE
A1.Kategorie_Nr = '5'

SELECT DISTINCT A0.KategorieName,A0.Kategorie_Nr,A0.Beschreibung FROM
Kategorien A0 INNER JOIN CDS A1 ON A0.Kategorie_Nr=A1.Kategorie_Nr WHERE
A1.Kategorie_Nr = '5'

due to caching of the statement (and manipulation of the original, cached
query) the 'Artikel' query is executed 3 times.

imo we should look for a better way to support exent aware pathExpressions.
even if the above mentioned way would work as expected we would have read
the same productGroup 3 times although there's only one with id = 5 !.

i'm thinking of a solution where we need only ONE sql including all tables
of the extents.

any ideas ?

jakob


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to