1

おはようございます、

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> ...

私の疑問は、以前のバージョンでは、標準の jbosscmp-jdbc.xmlファイルで「サブクエリをサポートする」設定を行うことができたということです。それがAS7でまだ可能かどうかは誰にもわかりますか?

データソース構成ガイドDD セクションを調べましたが、これまでのところ、どこでそれを行うことができるかわかりませんでした。

英語は私の母国語ではありません。

ありがとう。

4

0 に答える 0