おはようございます、
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 セクションを調べましたが、これまでのところ、どこでそれを行うことができるかわかりませんでした。
英語は私の母国語ではありません。
ありがとう。