我有一个类,我在我的休眠查询视频,我订购的结果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。 –