代码之家  ›  专栏  ›  技术社区  ›  user1007522

JPA@OrderBy不排序关系

  •  0
  • user1007522  · 技术社区  · 4 年前

    我有以下实体:

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

    questionnaireTemplateRepository.findAll()
    
    0 回复  |  直到 4 年前
        1
  •  1
  •   Felix Seifert    4 年前

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