java - spring-data-rest,你能提供实体的完整细节而不是(或与)链接吗

标签 java spring spring-data-jpa spring-data-rest

<分区>

有没有办法返回加入实体的完整详细信息而不是链接?在下面的示例中,我还想返回产品的详细信息,如果我有 100 次购买的 list ,则无需调用 100 次电话来获取产品详细信息。

Product、User 和 Purchase 实体的存储库都是使用 spring-data-jpa 创建的

{
  "_embedded" : {
    "purchase" : [ {
      "_links" : {
        "product" : {
          "href" : "http://localhost:8080/webapp/purchase/1/product"
        },
        "user" : {
          "href" : "http://localhost:8080/webapp/purchase/1/user"
        }
      },
      "purchasedOn" : "2014-02-23",
      "amount" : 1
    } ]
  }
}

实体和存储库;

@Entity
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, targetEntity = Purchase.class, orphanRemoval = true)
    @JoinColumn(name = "user_id", updatable = false)
    private List<Purchase> purchases = new ArrayList<>();

}

@Entity
public class Product {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    private String name;

}

@Entity
public class Purchase implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    Long id;

    @ManyToOne
    @JoinColumn(name = "user_id", referencedColumnName = "id")
    private User user;

    @ManyToOne(fetch = FetchType.EAGER, targetEntity = Product.class)
    @JoinColumn(name = "product_id", referencedColumnName = "id")
    private Product product;

    @Column(name = "purchase_date")
    private Date purchaseDate;

    private Integer amount;

}

@Repository
public interface PurchaseRepository extends JpaRepository<Purchase, Long> {}

最佳答案

似乎已经有对此功能的新功能请求;

https://jira.springsource.org/browse/DATAREST-221

https://jira.springsource.org/browse/DATAREST-243

在该功能实现之前,我会保留这个问题。

关于java - spring-data-rest,你能提供实体的完整细节而不是(或与)链接吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21975618/

相关文章:

java - 在线程中调用地理编码器构造函数时,连接崩溃

java - 如何在 POST 方法的 spring-boot 测试中使用 .getPrincipal()?

java - 类图混淆(琐碎)

java - 将 JSON 响应映射到多个 POJO

spring - 带有 Proxypass 和 Spring Security 的 Apache

java - Spring JPA 存储库方法查询之间的名称

java - Spring data JPA - 封装的表达式不是有效的表达式

java - 如何为没有主键或唯一键列的表创建 JPA 实体

java - ServletContext getRealPath 方法 - 什么是虚拟路径?

java - 如何用java在openCv中找到矩形的角点