Java “如何公开JAX-RS”;DTO";来自实体的REST客户端的数据?

Java “如何公开JAX-RS”;DTO";来自实体的REST客户端的数据?,java,rest,jpa,jax-ws,java-ee-6,Java,Rest,Jpa,Jax Ws,Java Ee 6,我有一个JavaEE6Web应用程序,它通过JAX-RSRESTWeb服务提供数据。 这些实体使用JPA注释以及javax.xml.bind JAX注释进行注释。 我的目标是从我的web应用程序项目中组装一个客户机jar,该项目包含JAX-RS注释的“DTO”类,用于在我的web应用程序的客户机中进行JAX解组 将原始实体放在客户机jar中不是一个选项,因为JPA注释会导致客户机的虚假依赖关系 有没有一种方法可以做到这一点,而不用为web应用程序和客户端编写两次JAX-RS类 我想到了注释处理和

我有一个JavaEE6Web应用程序,它通过JAX-RSRESTWeb服务提供数据。 这些实体使用JPA注释以及javax.xml.bind JAX注释进行注释。 我的目标是从我的web应用程序项目中组装一个客户机jar,该项目包含JAX-RS注释的“DTO”类,用于在我的web应用程序的客户机中进行JAX解组

将原始实体放在客户机jar中不是一个选项,因为JPA注释会导致客户机的虚假依赖关系

有没有一种方法可以做到这一点,而不用为web应用程序和客户端编写两次JAX-RS类

我想到了注释处理和删除实体中的所有JPA注释,这很有技术性,但不是很方便。 我的第二个想法是提取实体所需的getter/setter接口。这里的问题是如何处理放在类成员和getter上的JAX注释

两种方法似乎都能奏效。但这项任务是否有通用的解决方案


提示:是的,我知道通过rest直接公开JPA实体的方法,以及它与evolution等的耦合缺点。

您可以通过XML()而不是注释提供JPA元数据。这将为您提供没有类路径依赖关系的映射


好吧,这主意不错,但实体安全方法将继续存在。