一尘不染

Hibernate @OrderBy与引用的类

hibernate

我有一堂课说:“ 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是未知的。

这里的任何帮助都将非常棒,因为此刻确实困扰着我。

PS我还应该提到,在这样的集合上使用OrderBy批注:@OrderBy(clause =“ classC
asc”)(即在classC上没有.name)我得到一个有效的SQL语句,该语句使用ID列(主要keyC)排序。

干杯,马克


阅读 327

收藏
2020-06-20

共1个答案

一尘不染

不幸的是,做您想做的事是不可能的。我在这里回答了类似的问题。

@OrderBy仅支持集合元素的 直接 属性。

2020-06-20