【发布时间】:2020-11-29 12:32:09
【问题描述】:
我有以下实体:
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;
}
现在,当我检索所有 QuestionnaireTemplate 时,我希望每个关系都已排序,但事实并非如此。没有什么是排序的,它总是随机的。
questionnaireTemplateRepository.findAll()
【问题讨论】:
-
使用
List代替Set是否有效? -
你也可以尝试使用
SortedSet -
我自己的愚蠢错误。确实是因为Set。 SortedSet 和 List 都有效。如果您回答问题,我会将其标记为答案。
标签: java spring-boot jpa spring-data-jpa