我遇到了一个问题。我有三个类A、B和C。A包含一个OneToMany关系列表,其中包含B。B包含一个ManyToOne关系到C。C包含一个名为"name"的字段,而B也包含一个名为"name"的字段。我想要实现的是,将A列表中的项按照C的名称为第一排序依据,B的名称为第二排序依据进行排序,但问题是我不知道如何做到这一点。是否可能实现呢?
我使用的JPA提供程序是EclipseLink。
class A {
@OneToMany
@OrderBy("b.c.name, b.name") <---- this is the problem
List<B> b;
}
class B {
@ManyToOne
C c;
String name;
}
class C {
String name;
}
编辑 是的,我尝试过不同的变体,比如 @OrderBy("c.name") 不起作用,我只会得到一个错误信息,告诉我实体类 b 中不存在名为 "c.name" 的字段。