我正在编写一个Spring Boot(带JPA)REST应用程序,其中组成我的模型的一个实体由不同的/外部服务拥有,可以使用REST api获取。
@Entity
public class ManagedEntity {
@Id
private UUID id;
private ExternalEntity external; // I can be fetch from a REST api
}
我想知道我应该如何映射我的实体,以便让我的JPA实现从REST api加载它,如果可能的话。
或者,为了拥有一个丰富的模型,建模我的实体/应用程序的最佳方法是什么?
答案 0 :(得分:1)
无法在数据访问层执行此操作。您可以在业务逻辑中加载数据。更改您的@Entity
课程添加
@Transient
private ExternalEntity external;
首先从数据库中获取数据,然后尝试进行服务调用以填充ExternalEntity
答案 1 :(得分:0)
您可以使用@Transient标记整个ExternalEntity并在服务逻辑中初始化它。
但返回数据的最佳方法是返回视图对象而不是JPA域对象
答案 2 :(得分:0)
由于您使用Spring标记标记了问题,并且因为您似乎正在寻找易于完成的建议,为什么不使用Spring-Data-REST?从头版......
Spring Data REST
Spring Data REST是Spring Data项目的一部分,可以轻松地在Spring Data存储库之上构建超媒体驱动的REST Web服务。