The moose likes EJB Certification (SCBCD/OCPJBCD) and the fly likes EJB_QL identification var problem Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » EJB Certification (SCBCD/OCPJBCD)
Bookmark "EJB_QL identification var problem" Watch "EJB_QL identification var problem" New topic

EJB_QL identification var problem

Binoj Viswanathan
Ranch Hand

Joined: Feb 25, 2003
Posts: 85
EJB_QL identification variable problem

As per ejb2.0 spec identification variables in EJB-QL r case insensitive. But ven i used following in ejb-jar.xml with weblogic8.1
<ejb-ql><![CDATA[SELECT OBJECT(o) FROM DepartmentBean O]]></ejb-ql>

i got follwing exc..n while deploying the jar file
SELECT OBJECT( =>> o <<= ) FROM DepartmentBean O

EJB QL compilation encountered error: [EJB:013057]
Problem, in EJB QL the argument of OBJECT(o) in SELECT OBJECT(o) must be either a range variable ide
ntifier or a collection member identifier, either of which are defined in the query FROM clause as i
n 'SELECT OBJECT(e) FROM EmployeeBean AS e' or 'SELECT OBJECT(f) FROM EmployeeBean AS e, IN(e.friend
s)f'. 'o' is neither a range variable nor a collection member identifier.

Action, review the EJB QL query and correct the SELECT clause.

cn anyone explain me reazon for this?
Binoj V

PS:Weblogic8.1 implements EJB2.1.
Has this restriction on the identification variables removed in 2.1?

SCJP 1.4(98%)<br />SCBCD1.3 (100%)<br />SCWCD 1.4 (93%)(w/o prep..n)
Keerthi P
Ranch Hand

Joined: Aug 19, 2003
Posts: 203
EJB 2.1 is backward compatible with EJB 2.0. Could be a bug in Weblogic 8.1 ?

Cheers.<br />Keerthi<br />(SCJP, SCWCD, SCBCD)
Nathaniel Stoddard
Ranch Hand

Joined: May 29, 2003
Posts: 1258
Whereas most servers are backwards compatible to some extent, most will take the version of the DTD or your DD as an indicator of which version to treat it as. So, I would say, make sure you are deploying your app as 2.0 even though you're deploying into a server that does 2.1 and backwards 2.0. Make sense?

I agree. Here's the link:
subject: EJB_QL identification var problem
It's not a secret anymore!