我有一個類,我在我的休眠查詢視頻,我訂購的結果Order.desc("id")
。 查詢按預期工作。不過,如果我在視頻中添加@OneToMany
註釋以包含註釋,我還會在同一註釋中添加一個@OrderBy
(我需要的註釋爲ordered by "createdTime"
)。休眠OneToMany OrderBy主要查詢
@OneToMany(fetch = FetchType.LAZY, mappedBy = "videoId", cascade = CascadeType.ALL, orphanRemoval = true)
@OrderBy("commentTime")
public List<Comment> getComments()
這破壞了主查詢 - 影片的回報是現在錯誤的:它定購SQL與沒有評論第一回的視頻,其次是1條評論等:
order by comments6_.commentTime asc, this_.videoId desc
我只需要按照他們的ID對視頻進行排序。
也許值得使用Hibernate的'@ Sort'而不是在檢索數據後執行內存中的排序呢?您需要爲此提供一個「比較器」。至少這樣你就知道它不會影響你的SQL。 –