Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate@orderby似乎不起作用_Java_Hibernate - Fatal编程技术网

Java Hibernate@orderby似乎不起作用

Java Hibernate@orderby似乎不起作用,java,hibernate,Java,Hibernate,我有两个实体,用户和评论,它们都是POJO的。 注释引用了用户 @ManyToOne @JoinColumn(name = "user_id") private User user; // saves the User's id as a foreign key to Comment table 注释还有一个字段addedate,它是一个日期 @OrderBy @Column(name = "date_added") private Date addedDate; 当Hibernate

我有两个实体,用户和评论,它们都是POJO的。 注释引用了用户

@ManyToOne
@JoinColumn(name = "user_id")  
private User user;  // saves the User's id as a foreign key to Comment table
注释还有一个字段addedate,它是一个日期

@OrderBy
@Column(name = "date_added")
private Date addedDate;
当Hibernate从数据库中检索数据时,我希望注释按Addedate排序,但遗憾的是它按用户排序。 即使我用@OrderBy(javax.persistence.OrderBy)注释字段“addedDate”,它似乎也没有任何效果

我想要的是: userX earlyComment, userY earlyComment, userX lateComment, 用户评论

但我得到的是: userX earlyComment, userX lateComment, userY earlyComment, 用户评论

我在这里遇到过类似的问题,但我发现没有一个能解决我的问题。

我做错了什么?非常感谢您的帮助。

首先,我认为当您拥有
集合
作为成员时,应使用
@OrderBy
注释,以便对集合元素进行排序

因此,在外键引用上添加
@OrderBy
是没有用的,因为单个对象的顺序无关紧要

看说

此注释指定在检索关联时集合值关联元素的顺序


现在,对于您的解决方案,您需要在查询DB时添加ORDERBY EXPLICIT子句。

如何检索注释?您是在执行查询,还是它们是集合的一部分?“现在对于您的解决方案,您需要在查询DB时添加ORDERBY EXPLICIT子句。”这是正确的方法。