5

我想在几个 JEE6 WEB 项目上共享一个用 JPA 注释的实体模型。实体注释如下:

@Entity
public class Contract implements Serializable {

我创建了一个只有带注释的实体类的 Maven 项目,即实体项目。

在客户端 JEE6 WEB 项目中,我创建了对这个实体项目的依赖。JEE6 项目能够编译,但是在 Glassfish 应用服务器上执行时会出现运行时错误。该类未被识别为实体类。

Caused by: java.lang.IllegalArgumentException: Object: nl.marcenschede.modules.Contract[ id=null ] is not a known entity type.

导入的类要被识别为实体项目怎么办?

4

2 回答 2

1

在这里查看如何执行此操作的工作示例。

于 2013-05-28T10:17:06.640 回答
0

您只需要将持久性单元类打包到一个 jar 中,其中包含一个META-INF文件夹,其中包含persistence.xml列出所有实体类的文件。

然后,生成的 jar 必须包含在WEB-INF/lib您的 web-apps 战争文件的目录中。

请参阅http://docs.oracle.com/javaee/6/tutorial/doc/bnbqw.html#bnbrj

于 2013-05-28T12:27:43.560 回答