OJB 1.0.4 ODMG implementation
Längerich Bernd <[email protected]> Mon, 15 Feb 2010 15:58:32 +0100
| Newsgroups | gmane.comp.jakarta.ojb.user |
|---|---|
| Message-ID | <[email protected]> |
------_=_NextPart_001_01CAAE4F.583F63AC
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi,
=20
I just played around with ODMG and tried to execute the following OQL:
=20
"select x from myClass where attribute is not in ( select distinct y.id =
from anotherClass )"
=20
During OQLQuery q.create(oql) OJB writes a message to stderr with =
"unexpected token (select)" and throws an Exception:
=20
java.lang.NoSuchMethodError: =
org.apache.ojb.odmg.oql.OQLParser.recover(Lantlr/RecognitionException;Lan=
tlr/collections/impl/BitSet;)V
at org.apache.ojb.odmg.oql.OQLParser.argList(Unknown Source)
at org.apache.ojb.odmg.oql.OQLParser.inExpr(Unknown Source)
at org.apache.ojb.odmg.oql.OQLParser.quantifierExpr(Unknown =
Source)
at org.apache.ojb.odmg.oql.OQLParser.andExpr(Unknown Source)
at org.apache.ojb.odmg.oql.OQLParser.orExpr(Unknown Source)
at org.apache.ojb.odmg.oql.OQLParser.whereClause(Unknown =
Source)
at org.apache.ojb.odmg.oql.OQLParser.selectQuery(Unknown =
Source)
at org.apache.ojb.odmg.oql.OQLParser.buildQuery(Unknown =
Source)
at org.apache.ojb.odmg.oql.OQLQueryImpl.create(Unknown =
Source)
at org.apache.ojb.odmg.oql.OQLQueryImpl.create(Unknown =
Source)
=20
=20
Am I right in assuming, that OJB does not support such subqueries?
=20
Retrieving the Collection from the subquery and then explicitely =
generating an not in expression does the job, however the subquery =
result could be quite large.
=20
Best regards
=20
Bernd L=E4ngerich
------_=_NextPart_001_01CAAE4F.583F63AC--