JBoss AS7上的EJB 2.1子查询

时间:2012-09-03 14:11:51

标签: jboss7.x ejb-2.x cmp

早上好,

我正在将EJB 2.1项目从JBoss AS5迁移到AS7,我遇到了一些麻烦。该项目包含几个定义的EJB查询,其中一些不起作用,例如:

  <query>
    <query-method>
       <method-name>findByIdOwnershipMaxYear</method-name>
       <method-params>
         <method-param>java.lang.Long</method-param>
       </method-params>
    </query-method>
    <ejb-ql>SELECT OBJECT(o) FROM OwnershipHistory o WHERE o.id = ?1 and o.year = ( select max(oh.year) from OwnershipHistory oh where oh.id = ?1)</ejb-ql>
  </query>

所有查询都在每个模块的 ejb-jar.xml 文件中声明。当我启动JBoss时,带有子查询的那些(如上所述)总是给出org.jboss.as.cmp.ejbql.ParseException:

Encountered " "SELECT" "select "" at line 1, column 73.
Was expecting one of:
    "ABS" ...
    "LENGTH" ...
    "LOCATE" ...
    "SQRT" ...
    "MOD" ...
    "(" ...
    "+" ...
    "-" ...
    <INTEGER_LITERAL> ...
    <FLOATING_POINT_LITERAL> ...
    <NUMERIC_VALUED_PARAMETER> ...
    <NUMERIC_VALUED_PATH> ...

我怀疑,在以前的版本中,我可以在 standardjbosscmp-jdbc.xml 文件中执行“子查询支持”配置;有谁知道AS7上是否仍有可能?

我看了datasource configuration guideDD section,但到目前为止我无法弄明白我能做到的地方。

抱歉任何拼写错误,英语不是我的母语

感谢。

0 个答案:

没有答案