Hibernate で照会しているクラス Video があり、結果をOrder.desc("id")
. クエリは期待どおりに機能します。ただし、@OneToMany
ビデオに注釈を追加してコメントを含める場合は@OrderBy
、同じ注釈にも を追加します (コメントを にする必要がありますordered by "createdTime"
)。
@OneToMany(fetch = FetchType.LAZY, mappedBy = "videoId", cascade = CascadeType.ALL, orphanRemoval = true)
@OrderBy("commentTime")
public List<Comment> getComments()
これにより、メインのクエリが中断されます。動画の戻り値が間違っています。最初にコメントなしで動画を返し、その後に 1 つのコメントが続くように SQL に命令します。
order by comments6_.commentTime asc, this_.videoId desc
動画を ID で並べ替えるだけで済みます。