frontend.war
common.jar
backend.war
我们希望将jpa2带注释的实体放在common.jar中,后端将这些实体视为JPA2实体,但前端应该只将它们视为POJO / DTO。我们认为这可以通过将persistence.xml放入其中来实现 backend.war并且在前端没有persistence.xml。这不起作用,在启动后端并调用entityManager.getMetamodel()。getEntities()后,我们得到一个空列表。所有查询都以exeptions失败:“不是实体:com.example.model.OurEntity”。
我们在common.jar中尝试使用和不使用beans.xml。
知道我们做错了什么吗?是否可以在JPA2中使用此结构?
答案 0 :(得分:5)
如果带注释的实体与persistence.xml
不在同一文件中,则需要将<jar-file>
添加到persistence.xml
。根据您的设置,它可能如下所示:
<jar-file>lib/common.jar</jar-file>