Spring数据按顺序获取映射的对象

时间:2018-08-08 07:29:32

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

我们有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;
}

每当我们从drivers对象获取car时,我们得到的驱动程序都不是由id升序排列的,似乎是由nameid降序排列订单。

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

谢谢

1 个答案:

答案 0 :(得分:0)

嗨,您可以在驱动程序字段中添加注释。

显示代码。

@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;
}

订购选项的'ASC''DESC',默认为ASC

示例:

@javax.persistence.OrderBy("id")

@javax.persistence.OrderBy("name")

或:

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

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