我在一个实体中有一个SortedSet。但是当我尝试获取它时,它并不排序。我尝试使用hibernate或jpa,但都不起作用。有什么原因吗?(我的set实体也实现了可比)
private SortedSet<News> news = new TreeSet<News>();
public void setNews(SortedSet<News> news) {
this.news = news;
}
@OneToMany(fetch = FetchType.EAGER, cascade = {CascadeType.PERSIST, CascadeType.MERGE })
@JoinTable(name = "NEWSGROUP_NEWS", joinColumns = @JoinColumn(name = "NEWSGROUP_ID"), inverseJoinColumns = @JoinColumn(name = "NEWS_ID"))
@OrderBy("title")
@Sort(type=SortType.COMPARATOR, comparator=NewsComparator.class)
public SortedSet<News> getNews() {
return this.news;
}
public static class NewsComparator implements Comparator<News>
{
@Override
public int compare(News news1, News news2) {
return news1.getTitle().compareTo(news2.getTitle());
}
}我的刀
NewsGroup newsGroup = (NewsGroup)this.hibernateSessionFactory.getCurrentSession().get(NewsGroup.class, id);我还打印了sql (启用了show_sql ),但它根本不显示order by。请给我建议。谢谢!
发布于 2012-07-20 03:09:07
JMelnik是对的,通过删除@Sort,它起作用了
https://stackoverflow.com/questions/11457647
复制相似问题