加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Spring Data Rest – 按嵌套属性排序

发布时间:2020-12-15 01:26:22 所属栏目:大数据 来源:网络整理
导读:我有一个使用Spring Boot 1.5.1和Spring Data Rest的数据库服务.我将我的实体存储在MySQL数据库中,并使用Spring的PagingAndSortingRepository通过REST访问它们.我发现this声明支持按嵌套参数排序,但我找不到按嵌套字段排序的方法. 我有这些课程: @Entity(na

我有一个使用Spring Boot 1.5.1和Spring Data Rest的数据库服务.我将我的实体存储在MySQL数据库中,并使用Spring的PagingAndSortingRepository通过REST访问它们.我发现this声明支持按嵌套参数排序,但我找不到按嵌套字段排序的方法.

我有这些课程:

@Entity(name = "Person")
@Table(name = "PERSON")
public class Person {
    @ManyToOne
    protected Address address;

    @ManyToOne(targetEntity = Name.class,cascade = {
        CascadeType.ALL
    })
    @JoinColumn(name = "NAME_PERSON_ID")
    protected Name name;

    @Id
    protected Long id;

    // Setter,getters,etc.
}

@Entity(name = "Name")
@Table(name = "NAME")
public class Name{

    protected String firstName;

    protected String lastName;

    @Id
    protected Long id;

    // Setter,etc.
}

例如,使用该方法时:

Page

调用URI http://localhost:8080/people/search/findByAddress_Id?id=1&sort=name_lastName,desc时,Spring完全忽略sort参数.

参数sort = name.lastName和sort = nameLastName也不起作用.

我是否构成了Rest请求错误,或者缺少某些配置?

谢谢!

最佳答案
我通过调试,看起来像Alan提到的问题.

我找到了可能有用的解决方法:

创建自己的控制器,注入您的仓库和可选的投影工厂(如果您需要投影).实现get方法以委托对您的存储库的调用

 @RestController
 @RequestMapping("/people")
 public class PeopleController {

    @Autowired
    PersonRepository repository;

    //@Autowired
    //PagedResourcesAssembler

这适用于2.6.8.RELEASE;问题似乎在所有版本中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读