我有两个权限,User和Comment,它们都是POJO。 评论中提到了用户。
@ManyToOne
@JoinColumn(name = "user_id")
private User user; // saves the User's id as a foreign key to Comment table
评论还有一个字段addedDate,它是一个日期。
@OrderBy
@Column(name = "date_added")
private Date addedDate;
当Hibernate从数据库中检索数据时,我希望通过addedDate对注释进行排序,但遗憾的是它是由用户订购的。 即使我使用@OrderBy(javax.persistence.OrderBy)注释“addedDate”字段,它似乎也没有任何效果。
我想要的是: userX earlyComment, userY earlyComment, userX lateComment, userY lateComment,
但我得到的是: userX earlyComment, userX lateComment, userY earlyComment, userY lateComment,
我在这里似乎有类似的问题,但我找不到解决了我的问题 我做错了什么?非常感谢任何帮助。
答案 0 :(得分:2)
首先,我认为当@OrderBy
作为成员时,Collection
注释应该适用,以便可以对集合元素进行渲染。
因此,在外键引用上添加@OrderBy
没有用,因为单个对象排序无关紧要。
请参阅Order By说
此注释指定检索关联时集合值关联元素的排序。
现在,对于您的解决方案,您需要在查询数据库时通过显式子句添加顺序。