我带着一家新公司参与了一个新项目,我们正在尝试使用JPA来完成一些数据库工作。所以我们有一个带有EJB的Ear,一个web服务,然后有一个真正完成所有工作的应用程序客户端。 Web服务调用EJB,EJB调用客户端来执行数据库工作。所以在appclient中我想通过注释加载一个EntityManager,但它似乎不起作用(em总是为null):

@Entity
public class Whatever...{
    @PersistenceContext(unitName="pu")
    EntityManager em;

}

所以我认为我需要在EJB上加载EntityManager,但这也不起作用,因为看起来JPA没有看到Entity类,因为它们在appclient而不是EJB中。谁能给我一些指导?

有帮助吗?

解决方案

这是对应用客户端的误用。您的所有数据库处理都应该在EJB中进行。应用客户的存在似乎没有任何明显的原因。

此链接是一篇旧文章,但提供了一个关于应用程序客户端用于什么的示例(应用程序不是后端服务)。

应用程序客户端

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top