首页 > 解决方案 > 使用 Spring Data REST 在 json 实体中注入数据

问题描述

我有部门的 JPA 实体:

public class Department {
    @Id
    @Column(unique = true, nullable = false)
    private long id;

    @Basic
    @Column
    @Nationalized
    private String name;

    @Basic
    @Column(length = 400)
    @Nationalized
    private String branch;
    ...
}

和 REST 存储库

@RepositoryRestResource(collectionResourceRel = "departments", path = "departments")
public interface DepartmentRestRepository extends PagingAndSortingRepository<Department, Long> {
    ...
}

实体的branch字段是实体父部门的ID,以空格分隔,例如1 2 3

当我通过查询特定部门时,是否可以像查询的所有父实体/api/departments/ID一样附加到它的字段?parents

我尝试getParents向实体添加方法,但它显然给了我不需要的父母对所有实体的递归查询。

2019.01.17 更新
作为一种解决方法,我将Department实体拆分为Departmentand DepartmentWithParents。我Department getParents()向实体添加了方法,DepartmentWithParents并公开了返回的 REST API 方法DepartmentWithParents
有没有更好的办法?

标签: springrestspring-data-jpa

解决方案


作为一种解决方法,我将Department实体拆分为Departmentand DepartmentWithParents。我Department getParents()向实体添加了方法,DepartmentWithParents并公开了返回的 REST API 方法DepartmentWithParents


推荐阅读