spring数据rest-按嵌套属性排序而不复制属性

zaq34kh6  于 2021-06-29  发布在  Java
关注(0)|答案(0)|浏览(278)

我有一个类似于springdatarest-sortbysnestedproperty中描述的情况:我使用的是springboot2.3.4和springdatarest。我将实体存储在mysql数据库中,并使用spring的pagingandsortingrepository通过rest访问它们。我想按嵌套属性排序,所以我尝试添加注解 @RestResource(exported=false) 正如建议的那样。此注解解决了按嵌套属性排序的问题,但它使一些spring数据rest调用无法工作。例如,在我的例子中,我在实体“project”和“employee”之间有一个多对多关系:如果我想删除两个对象之间的关系,我被用来创建一个 DELETE request 就像http://localhost:8080/rest/employee/15/projects/15,但对于 @RestResource(exported=false) 注解,因为现在缺少链接。我不希望重复字段,正如SpringDataREST-SortbyNested属性中所建议的那样。那么,有没有一种方法可以在不复制属性和不创建新控制器的情况下按嵌套属性排序(所以仍然使用spring数据rest请求)?我还在下面添加了部分代码。谢谢!

@Entity
@Table
public class Employee {

    @NotBlank
    private String lastName;

    @NotBlank
    private String firstName;

    @Email
    private String email;

    @Past
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate birthdate;

    @RestResource(exported = false)
    @ManyToMany(cascade = CascadeType.PERSIST)
    @JoinTable(
            name = "employee_project",
            joinColumns = {@JoinColumn(name = "employee_id")},
            inverseJoinColumns = {@JoinColumn(name = "project_id")}
    )
    private List<Project> projects;
}
@Entity
@Table
public class Project {

    private String fullName;
    private String description;
    private String referencePerson;

    @ManyToMany(mappedBy = "projects")
    private List<Employee> employees;
}

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题