【问题标题】:spring data fetch mapped object in orderspring数据按顺序获取映射对象
【发布时间】:2018-08-08 07:29:32
【问题描述】:

我们有 Spring Boot 2.x、Spring Data 和 PostgreSQL 作为数据库。

在我们的应用程序中,Driver 类如下

@Data
@Entity
public class Driver {
    private String id;
    private String name;
    private String licenseNo;
}

现在,一辆汽车可以由许多司机驾驶。所以我们有Car 类如下。

@Data
@Entity
public class Car {
    private String id;
    private String number;
    private String registrationNumber;
    @OneToMany(fetch = FetchType.LAZY)
    private List<Driver> drivers;
}

每当我们从car 对象中获取drivers 时,我们都会得到未按id 升序排序的驱动程序,似乎它按name 或id 降序排序。

在 JPA 中有什么方法可以让我们在映射时指定默认顺序。

谢谢

【问题讨论】:

    标签: java postgresql spring-data-jpa spring-data one-to-many


    【解决方案1】:

    您好,您在驱动程序字段中添加了注释。

    显示代码。

    @Data
    @Entity
    public class Car {
        private String id;
        private String number;
        private String registrationNumber;
    
        @javax.persistence.OrderBy("id ASC")
        @OneToMany(fetch = FetchType.LAZY)
        private List<Driver> drivers;
    }
    

    order option`s 'ASC' 'DESC',默认为ASC

    例子:

    @javax.persistence.OrderBy("id")
    
    @javax.persistence.OrderBy("name")
    

    或:

    @javax.persistence.OrderBy("id DESC")
    
    @javax.persistence.OrderBy("name  DESC")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-01
      • 1970-01-01
      • 2017-03-03
      • 1970-01-01
      • 1970-01-01
      • 2020-02-16
      • 2018-10-10
      • 2019-12-12
      相关资源
      最近更新 更多