编程语言
首页 > 编程语言> > java-如何从REST客户端的实体公开JAX-RS“ DTO”?

java-如何从REST客户端的实体公开JAX-RS“ DTO”?

作者:互联网

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

由于JPA批注,因此不能将原始实体放入客户端jar中,这会导致客户端的虚假依赖关系.

对于Web应用程序和客户端,有没有办法无需编写两次JAX-RS类就可以做到这一点?

我想到了注释处理并杀死实体中的所有JPA注释,这很技巧,但不是很方便.
我的第二个想法是提取实体所需的获取器/设置器的接口.这里的问题是如何处理放置在类成员和getter上的JAX批注.

两种方法似乎都以某种方式起作用.但是,该任务是否有通用解决方案?

提示:是的,我知道直接通过休息公开JPA实体的方式及其与进化等相关的耦合缺点)

解决方法:

您可以通过XML(http://java.sun.com/xml/ns/persistence/orm_2_0.xsd)代替注释来提供JPA元数据.这将为您提供没有类路径依赖性的映射.

> http://java.dzone.com/articles/persisting-entity-classes

标签:rest,jax-ws,jpa,java-ee-6,java
来源: https://codeday.me/bug/20191201/2084418.html