Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JPA@OrderBy不';t排序关系_Java_Spring Boot_Jpa_Spring Data Jpa - Fatal编程技术网

Java JPA@OrderBy不';t排序关系

Java JPA@OrderBy不';t排序关系,java,spring-boot,jpa,spring-data-jpa,Java,Spring Boot,Jpa,Spring Data Jpa,我拥有以下实体: public class QuestionnaireTemplateEntity extends BaseEntity { @Id @GeneratedValue(generator="system-uuid") @GenericGenerator(name="system-uuid", strategy = "uuid") @Column(updatable = false, null

我拥有以下实体:

public class QuestionnaireTemplateEntity extends BaseEntity {
    @Id
    @GeneratedValue(generator="system-uuid")
    @GenericGenerator(name="system-uuid", strategy = "uuid")
    @Column(updatable = false, nullable = false)
    private String id;
    @OneToMany(mappedBy="questionnaireTemplate", cascade = CascadeType.ALL)
    @OrderBy("subQuestionnaireOrder ASC")
    private Set<SubQuestionnaireTemplateEntity> subQuestionnaires = new HashSet<>();
}


public class SubQuestionnaireTemplateEntity extends BaseEntity {
    @Id
    @GeneratedValue(generator="system-uuid")
    @GenericGenerator(name="system-uuid", strategy = "uuid")
    @Column(updatable = false, nullable = false)
    private String id;

    @OneToMany(mappedBy="subQuestionnaireTemplate", cascade = CascadeType.ALL)
    @OrderBy("questionOrder ASC")
    private Set<QuestionEntity> questions = new HashSet<>();
    private Integer subQuestionnaireOrder;
}

public class QuestionEntity extends BaseEntity {
    @Id
    @GeneratedValue(generator="system-uuid")
    @GenericGenerator(name="system-uuid", strategy = "uuid")
    @Column(updatable = false, nullable = false)
    private String id;
    @ManyToOne
    @JoinColumn(name="sub_questionnaire_template_id")
    private SubQuestionnaireTemplateEntity subQuestionnaireTemplate;
    private Integer questionOrder;
}  

我总是使用注释'@OrderBy',而不是'@OrderColumn'。提供了一个简单的示例,说明如何在Hibernate中实现此注释以实现排序。

当您使用
List
而不是
Set
时,它是否有效?您也可以尝试使用
SortedSet
我自己的愚蠢错误。这确实是因为布景。SortedSet和List都可以工作。如果你回答这个问题,我会把它标记为答案。谢谢你的帮助。但是,当我查找这两个注释之间的差异时,这个OrderColumn添加了一个新的列,当元素更改时,该列跟踪位置,然后位置也会更新。我不知道这是否是我想要的。将OrderBy与列表或SortedSet一起使用时,它会起作用。您已经有了一个整数属性,要使用该属性进行排序。你只需要说这应该是你的订单栏。
questionnaireTemplateRepository.findAll()