Java @OneToMany中的JPA OrderBy by外部字段

Java @OneToMany中的JPA OrderBy by外部字段,java,sql,hibernate,jpa,Java,Sql,Hibernate,Jpa,我有以下实体: @Entity public class C { @Column private String name; } @Entity public class B { @Column private Integer id; @ManyToOne @JoinColumn(name = "id_c") private C c; } @Entity public class A { @OneToMany(mappedBy = "a") @OrderBy(

我有以下实体:

@Entity
public class C {

 @Column
 private String name;

}


@Entity
public class B {

 @Column
 private Integer id;

 @ManyToOne
 @JoinColumn(name = "id_c")
 private C c;

}


@Entity
public class A {

 @OneToMany(mappedBy = "a")
 @OrderBy("id")
 private Set<B> itemsB;

}
@实体
公共C类{
@纵队
私有字符串名称;
}
@实体
公共B级{
@纵队
私有整数id;
@许多酮
@JoinColumn(name=“id\u c”)
私人C C;
}
@实体
公共A类{
@OneToMany(mappedBy=“a”)
@订购人(“id”)
私人设置项目b;
}
现在,当我访问A.itemsB()-按B.id排序的项时

我需要按C.name排序A.itemsB()。这可能吗


我试着编写@OrderBy(“c.name”)之类的东西,但它不起作用。

只需检查导入的顺序:org.hibernate.annotations.OrderBy或javax.persistence.OrderBy。。您应该使用第二个。

您使用了一个查询,并将其作为顺序使用javax.persistence.OrderBy,但是@OrderBy(“c.name”)也不起作用。