gpt4 book ai didi

jpa - 在 EJB 3.1 中调用远程 EJB

转载 作者:行者123 更新时间:2023-12-01 01:29:48 26 4
gpt4 key购买 nike

我需要从另一个具有相同 glassfish(3.1 最终版本)的 Web 应用程序调用远程无状态 EJB,它返回实体 Bean(JPA 2/Eclipselink)。我通过 在 Web 应用程序中获取 ejb 引用依赖注入(inject) (@EJB)但实体变为空。我用谷歌搜索它,发现它可能是 可序列化 问题。我在某个地方找到了这个

TopLink either modifies entity classes ("weaves" them) on load or substitutes collection access at runtime to be able to detect lazily accessed or modified relationships (there is no way to support lazy load without this or subclassing or using a proxy at runtime). Which brings us to a very important point: you shouldn't use reflection to access an entity, but only via its business methods.When a weaved entity is serialized on the server and deserialized on the client that doesn't have its corresponding entity weaved, the serialVersionUIDs won't match as the calculation of the value includes class fields and methods.



那么我需要在我的应用程序上进行 DTO 转换吗???

最佳答案

“但实体变为空”是什么意思?您是调用远程 SessionBean 上的方法并返回 null,还是返回与关系为 null 的 Entity?

如果它是空关系,则可能是 LAZY 问题,如果您的关系是 LAZY,并且尚未获取或访问,那么它将为空。您需要获取它、访问它或使其成为 EAGER。

如果您返回 null,则说明其他问题。

关于jpa - 在 EJB 3.1 中调用远程 EJB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5546656/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com