我有一堂课说:“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;
...
}
如何给ClassA的集合添加@OrderBy注解到ClassB,使得集合按照ClassC的“name”属性排序
Like so:
@OrderBy(clause="classC.name asc")
我得到的只是 Oracle 异常,表示 classC 未知。
这里的任何帮助都会很棒,因为它现在真的很困扰我。
附:我还应该提到在集合上使用 OrderBy 注释,如下所示:
@OrderBy(clause="classC asc")
(即 classC 上没有 .name)我得到一个有效的 SQL 语句,它使用 classC 的 ID 列(主键)进行排序。
干杯,
标记
不幸的是,你不可能做你想做的事。我回答过类似的问题here.
@OrderBy
只支持direct集合元素的属性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)