【问题标题】:JPA/Hibernate @OrderBy annotation with boolean row带有布尔行的 JPA/Hibernate @OrderBy 注释
【发布时间】:2022-02-07 20:44:32
【问题描述】:

我想在属性中按行“pk”排序。但它有一个布尔数据。具有 pk=true 的属性应该首先出现。我就是不能写@OrderBy("pk=true")。我怎样才能让它按这一行排序?

public class Entity {

//here are some rows;

@OneToMany
    @JoinColumn(name = "id")
    @OrderBy("pk", "firstName")
    private Collection<Attributes> attributes;
}

public class Attributes {

    @Id
    private Long id;

    @Column(name = "first_name")
    private String firstName;

    @Column(name = "last_name")
    private String lastName;

    @Column(name = "pk")
    private Boolean pk;
}

【问题讨论】:

  • 我认为您需要分享更多有关您的数据模型的信息才能获得有意义的答案。
  • @HiranChaudhuri 已编辑

标签: java hibernate


【解决方案1】:

它将首先排序为false,因为在数据库中true和false分别表示为1和0

【讨论】:

    【解决方案2】:

    好的,从您提供的示例中,您已经知道如何按字段pk 进行排序。只是你想要相反的顺序。

    为此你会写

    @OrderBy("pk desc")

    另见https://www.logicbig.com/tutorials/java-ee-tutorial/jpa/order-by-annotation.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-07
      • 1970-01-01
      • 1970-01-01
      • 2021-03-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多