我有一堂课说:“ ClassA”,其中包含“ ClassB”的集合
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinColumn(name = "COLUMN_NAME")
private List<ClassB> lotsOfClasses;
“ ClassB”具有使用普通旧映射注释的映射类“ ClassC”:
public class ClassB {
...
@ManyToOne
@JoinColumn(name="AD_POINT_ID")
private ClassC classC;
...
}
如何将@OrderBy批注添加到ClassA的ClassB的集合中,以便按ClassC的“名称”属性对集合进行排序
像这样:
@OrderBy(clause="classC.name asc")
我得到的都是Oracle异常,它说classC是未知的。
这里的任何帮助都将是很棒的,因为此刻确实困扰着我。
附言我还应该提到在集合上使用OrderBy注释,如下所示:
@OrderBy(clause =“ classC asc”)
(即在classC上没有.name)我得到一个有效的SQL语句,该语句使用classC的ID列(主键)进行排序。
干杯,
标记
最佳答案
不幸的是,做您想做的事是不可能的。我已经回答了类似的问题here。@OrderBy
仅支持集合元素的直接属性。