Я относительно легкий 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 в файле ejb-jar.xml:
<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>
Но я не уверен.Я предполагаю, что смогу найти что-то в старой кодовой базе, которое смогу перевести на конкретный контент, если, возможно, он неявным образом использует первичные ключи или что-то подобное.
Любые указатели будут наиболее цениться.