[英]How to return deep nested projections in Spring data rest?
鉴于这3个实体:
@Entity
class Department{
Set<Employee> employees;
Set<Employee> getEmployees(){
return this.employees;
};
}
@Entity
class Employee{
Nationality nationality;
Nationality getNationality(){
this.nationality;
}
}
@Entity
class Nationality{
}
我想为Department
创建一个投影,让所有部门都有员工和国籍。 我所取得的成就是让所有部门与员工一起使用:
@Projection(name = "fullDepartment", types = { Department.class })
public interface DepartmentsProjection {
Set<Employee> getEmployees();
}
@RepositoryRestResource(collectionResourceRel = "department", path = "departments")
public interface DepartmentRepository extends JpaRepository<Department, Long> {
}
一种方法是为嵌套对象创建一个Projection,然后在更全局的对象中使用此投影。 因此,根据您的问题,您可以为国籍创建一个投影,然后为部门创建另一个投影以获取国籍的投影,最后另一个投影以获得部门的实体。
@Projection(name = "NationalityProjection", types = { Nationality.class })
public interface NationalityProjection{
// getters of all attributes you want to project
}
@Projection(name = "EmployeeProjection", types = { Employee.class })
public interface EmployeeProjection{
NationalityProjection getNationality();
}
@Projection(name = "DepartmentProjection", types = { Department.class })
public interface DepartmentProjection{
Set<EmployeeProjection> getEmployees();
}
希望能帮助到你!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.