Hibernate @OrderBy引用了类

Mar*_*ark 6 oracle annotations hibernate

我有一个课说:"ClassA"有一个"ClassB"的集合

@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinColumn(name = "COLUMN_NAME")    
private List<ClassB> lotsOfClasses;
Run Code Online (Sandbox Code Playgroud)

"ClassB"使用普通的旧映射注释来映射类"ClassC":

public class ClassB {
...
  @ManyToOne
  @JoinColumn(name="AD_POINT_ID")
  private ClassC classC;
...
}
Run Code Online (Sandbox Code Playgroud)

如何将ClassO的集合中的@OrderBy批注添加到ClassB,以便按ClassC的"name"属性对集合进行排序

像这样:

@OrderBy(clause="classC.name asc")
Run Code Online (Sandbox Code Playgroud)

我得到的只是Oracle异常,说classC是未知的.

这里的任何帮助都会很棒,因为它现在真的让我烦恼.

PS我还应该提到在集合上使用OrderBy注释,如下所示:@OrderBy(clause ="classC asc")(即没有classC上的.name)我得到一个有效的SQL语句,它使用了ID列(主要的classC的顺序).

干杯,马克

Chs*_*y76 7

遗憾的是,不可能做你想做的事.我在这里回答了类似的问题.

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