Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JPA-从REST服务获取子对象_Java_Spring_Rest_Jpa - Fatal编程技术网

Java JPA-从REST服务获取子对象

Java JPA-从REST服务获取子对象,java,spring,rest,jpa,Java,Spring,Rest,Jpa,我正在编写一个springboot(带JPA)REST应用程序,其中组成我的模型的一个实体由另一个/外部服务拥有,可以使用restapi获取 @Entity public class ManagedEntity { @Id private UUID id; private ExternalEntity external; // I can be fetch from a REST api } 如果可能的话,我想知道我应该如何映射我的实体,以便让我的JPA实现从RESTA

我正在编写一个springboot(带JPA)REST应用程序,其中组成我的模型的一个实体由另一个/外部服务拥有,可以使用restapi获取

@Entity
public class ManagedEntity {
  @Id
  private UUID id;      
  private ExternalEntity external; // I can be fetch from a REST api
}
如果可能的话,我想知道我应该如何映射我的实体,以便让我的JPA实现从RESTAPI加载它


或者,为了拥有丰富的模型,对实体/应用程序建模的最佳方式是什么?

您可以使用@Transient标记整个ExternalEntity,并在服务逻辑中初始化它


但是返回数据的最佳方法是返回视图对象,而不是JPA域对象

,因为您用Spring标记了问题,而且您似乎在寻找简单易行的建议,为什么不使用?从头版

Spring数据休息

SpringDataREST是伞形Spring数据项目的一部分,它使得在Spring数据存储库之上构建超媒体驱动的RESTWeb服务变得非常容易


在数据访问层是不可能做到的。您可以在业务逻辑中加载数据。更改您的
@实体
类添加

@Transient 
private ExternalEntity external;

首先从数据库获取数据,然后尝试进行服务调用以填充
ExternalEntity

,这是不可能的。JPA从关系数据库读取数据,并依赖其事务功能。不能将表行与非事务性REST服务联接。您需要在比数据库持久性层更高的级别上处理它。