2

我想将 JPA 实体类用作简单的 POJO/数据持有者对象,以传递给企业应用程序的其他层/客户端。

这可以在其他层/客户端在类路径上没有 JPA API jar 的情况下完成吗?(只有包含实体类的 jar)?或者他们是否需要这个来解决以下问题:

@OneToMany(mappedBy="owner",fetch=FetchType.EAGER) 在实体源代码中?

如果在客户端/表示层中需要 JPA API,它只是为了与作为 POJO 的实体一起工作,那么避免这种依赖 JPA API 的必要性的最佳解决方案/替代方案是什么?

编辑:只是为了让它更清楚。我在询问 JPA API 无法访问的 java ee 环境之外的可能解决方案。我可以避免为每个要发送到没有 JPA API 的标准 java 客户端的实体类编写 DTO 吗?

4

1 回答 1

1

如果您与其他在其类路径上没有持久性 API 的应用程序共享您的实体类,那么它们将无法加载您的类。那是因为 JVM 将无法解析注释类。

但是,如果我们谈论的是 Java EE 意义上的企业应用程序,那么它们都应该在其类路径中包含持久性 API,因为它是标准的一部分。该 API 由所有 Java EE 应用程序服务器提供。在这种情况下,将实体类放在 EARlib/目录内的 JAR 文件中,以便与项目的所有模块共享。

参考:

于 2013-07-07T11:59:47.087 回答