私は相対的な Java EE ライトウェイトで、古いアプリを OC4j 10.x (JEE 1.1) から Glassfish 3.1 (JEE 1.4) に移行する任務を負っています。この展開エラーの意味と、それに対処するためにアプリケーションを更新する方法を理解しようとしています。
Caught java.lang.RuntimeException while processing CMP bean [FMSCatPval] for
application [FMS_nb_14]; module [FMS_nb_14-ejb.jar]: JDO74024: Missing or invalid
definition of JDOQL query elements for CMP 1.1 finder FMSCatPval.findByModel(int).
関連する ejb-jar.xml の EJB 定義は次のとおりです。
<entity>
<display-name>FMSCatPval</display-name>
<ejb-name>FMSCatPval</ejb-name>
<home>com.fms.ejbs.pval.CatPvalHome</home>
<remote>com.fms.ejbs.pval.CatPval</remote>
<ejb-class>com.fms.ejbs.pval.CatPvalEJB</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>com.fms.ejbs.pval.CatPvalKey</prim-key-class>
<reentrant>false</reentrant>
<cmp-version>1.x</cmp-version>
<cmp-field><field-name>pval</field-name></cmp-field>
<cmp-field><field-name>model_num</field-name></cmp-field>
<cmp-field><field-name>step</field-name></cmp-field>
<cmp-field><field-name>cntl_cat</field-name></cmp-field>
<cmp-field><field-name>chiSquare</field-name></cmp-field>
</entity>
オンラインで同様の投稿をいくつか見つけましたが、私をこぶに追いやる解決策はありませんでした。エンティティ宣言に次のようなものを追加する必要があると思います。
<finder>
<name>findByModel</name>
<query>model_num = {0}</query>
</finder>
しかし、確かではありません。おそらくそれが主キーなどを暗黙的に使用していない限り、特定のコンテンツに変換できる古いコードベースの何かを見つけることができるはずだと思います。
どんなポインタでも大歓迎です。