Hibernate的Set映射(一对多)的排序问题
2017-02-21 23:30
260 查看
问题背景:持久化类Privilege存在一对多的关系
public class Privilege implements Serializable{
private Long id;
...
private Set<Privilege> children = new LinkedHashSet<Privilege>();
...
}
在struts2的valueStack栈顶有一个privilege对象,然后我需要在jsp页面里取出其children值: <s:iterator value="children">
但问题是:得到的children集合中的privilege对象是无序的!毕竟是Set集合!
解决方案:在Privilege.hbm.xml中添加配置order-by="id"则将根据id进行顺序查询
<set name="children" cascade="all" inverse="false" lazy="false" order-by="id">
<key>
<column name="parent_id"></column>
</key>
<one-to-many class="Privilege"/>
</set>
则hibernate在发出sql语句时会添加 “order by... asc”
如果想要逆序查询,则order-by="id desc"
public class Privilege implements Serializable{
private Long id;
...
private Set<Privilege> children = new LinkedHashSet<Privilege>();
...
}
在struts2的valueStack栈顶有一个privilege对象,然后我需要在jsp页面里取出其children值: <s:iterator value="children">
但问题是:得到的children集合中的privilege对象是无序的!毕竟是Set集合!
解决方案:在Privilege.hbm.xml中添加配置order-by="id"则将根据id进行顺序查询
<set name="children" cascade="all" inverse="false" lazy="false" order-by="id">
<key>
<column name="parent_id"></column>
</key>
<one-to-many class="Privilege"/>
</set>
则hibernate在发出sql语句时会添加 “order by... asc”
如果想要逆序查询,则order-by="id desc"
相关文章推荐
- Hibernate的Set映射(一对多)的排序问题
- hibernate 一对多 排序 set
- Hibernate 一对多的联系(Set关联) 对象关系映射
- 主题:请教hibernate中many-to-many的Set 排序问题
- Hibernate (四) Set List Map 集合映射 和排序
- 关于Hibernate内存中集合排序的非常棘手的问题
- Hibernate3集合映射中排序功能的一些不足?
- Eclipse快速上手Hibernate--7. 关联映射(一对多) (1)
- Eclipse快速上手Hibernate--7. 关联映射(一对多) (3)
- Eclipse快速上手Hibernate--7. 关联映射(一对多) (1)(摘自javaxmj的blog)
- CRM中Customer遇到的Set属性排序问题
- hibernate的映射文件配置问题
- Eclipse快速上手Hibernate--7. 关联映射(一对多) (3)
- hibernate映射技巧one-to-many(单项一对多)
- 解决使用HIBERNATE对ORACLE数据库中数据进行排序分页错乱的问题
- hibernate中两个实体类与同一张数据表进行映射后出现的问题解决
- Hibernate中一对多的映射关系
- 使用hibernate心得——字符串超长的解决办法(setCharacterStream出现顺序问题)
- Eclipse快速上手Hibernate--7. 关联映射(一对多) (2)
- 关于hibernate集合的排序问题