帮助理解 CMP 1.1 finder 的 JDOQL 查询元素

发布于 2024-11-24 06:54:01 字数 1712 浏览 1 评论 0原文

我是一个相对 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>

但我不确定。我认为我应该能够在旧代码库中找到可以转换为特定内容的内容,除非它可能隐式使用主键或类似内容。

任何指示将不胜感激。

I'm a relative Java EE lightweight, tasked with moving an old app from OC4j 10.x (JEE 1.1) into Glassfish 3.1 (JEE 1.4). I'm attempting to understand what this deployment error means and how I should go about updating my application to address it.

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

Here's the related EJB definition in 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>

I've found some similar postings online, but no resolutions that pushed me over the hump. I think what I need is to add something like this to the entity declaration:

<finder>
    <name>findByModel</name>
    <query>model_num = {0}</query>
</finder>

But I'm not certain. I assume I should be able to find something in the old code base that I could translate to the specific content, unless perhaps it was implicitly using primary keys or somesuch.

Any pointers would be most appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浅浅淡淡 2024-12-01 06:54:02

我们最终采用了“刀耕火种”的方法,从头开始重新创建所有 EJB,并将它们与其余代码库重新集成。看起来没有其他好方法可以从我们现在的位置到达我们想去的地方。

We ended up going with a "slash and burn" approach, recreating all of the EJBs from scratch and reintegrating them with the rest of the code base. It looked like there was no other good way to get from where we were to where we wanted to be.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文