hibernate 一对多查询对set的排序

Posted ycr19921121

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hibernate 一对多查询对set的排序相关的知识,希望对你有一定的参考价值。

最简单的方法是在配置文件中设置,利用配置文件中的order-by 属性来处理

例如

<hibernate-mapping>
<class name="com.adcourse.form.Topics" table="tb_topics">
    <id name="id" column="id" type="int">
    <generator class="increment"/>
    </id>
    
<set name="reply" order-by="datetime asc" inverse="true" cascade="all"   lazy="false" >
<key column="topics_id"></key>
<one-to-many class="com.adcourse.form.Reply"/>
</set>
</class>
</hibernate-mapping>

<hibernate-mapping>
<class name="com.adcourse.form.Reply" table="tb_reply">
    <id name="id" column="id" type="int">
    <generator class="increment"/>
    </id>
       <property name="rdatetime" column="datetime" type="java.util.Date" not-null="true"/>
<many-to-one name="topic" column="topics_id" class="com.adcourse.form.Topics" />
</class>
</hibernate-mapping>

上面在一的一端查询出来的set 里面的记录根据 detetime 的升序来排列,注意:是datetime 不是rdatetime

对于注解形式,可以采用

import javax.persistence.OrderBy;

@OneToMany(cascade = CascadeType.ALL , fetch = FetchType.LAZY, mappedBy = "tblStudyType")
@OrderBy("lessonId ASC")
public Set<TblStudyLesson> getTblStudyLessons()
return this.tblStudyLessons;

的方式来配置set的顺序。

以上是关于hibernate 一对多查询对set的排序的主要内容,如果未能解决你的问题,请参考以下文章

hibernate 一对多 查询问题

hibernate 一对多双向关联 外键值为空 怎么结决?

三大框架 之 Hibernate查询(一对多多对多查询关系)

Hibernate--一对多/多对一

hibernate的一对多和多对一关联

hibernate 一对多 多对一映射关系