我们如何在两个webapps之间使用JPA2(Hibernate)实体作为DTO?

and*_*saa 5 hibernate glassfish jpa-2.0

大家好我们正在运行Glassfish 3.0.1并使用Hibernate 3.5.3.我们的项目设置如下:

frontend.war

common.jar

backend.war

我们希望将jpa2带注释的实体放在common.jar中,后端将这些实体视为JPA2实体,但前端应该只将它们视为POJO/DTO.我们认为这可以通过在backend.war中放入persistence.xml并在前端没有persistence.xml来实现.这不起作用,在启动后端并调用entityManager.getMetamodel().getEntities()后,我们得到一个空列表.所有查询都以exeptions失败:"不是实体:com.example.model.OurEntity".

我们在common.jar中尝试使用和不使用beans.xml.

知道我们做错了什么吗?是否可以在JPA2中使用此结构?

axt*_*avt 5

当带注释的实体不在同一文件中时persistence.xml,您需要添加<jar-file>persistence.xml.根据您的设置,它可能如下所示:

<jar-file>lib/common.jar</jar-file>
Run Code Online (Sandbox Code Playgroud)