2 u013179958 u013179958 于 2016.02.28 18:50 提问

在Hibernate的应用过程中,bean中的set集合的意义何在?

set集合本身是无序的,放到页面也没有意义啊,如果真要放到页面,每次查询出来的顺序都不一样,这根本不行啊

3个回答

caozhy
caozhy   Ds   Rxr 2016.02.28 18:52
已采纳

这和数据库一样,数据库里的记录本身也是无序的,但是你可以根据某列排序。
一个道理,set无序,但是可以根据id,时间或者什么列给顺序。

u013179958
u013179958 回复caozhy: java咋排序啊,我刚才发现Hibernate给排序接口了,直接在order by里面设置字段名即可排序
2 年多之前 回复
caozhy
caozhy 回复据说名字太长不容易被发现: java有了,不需要再写一套。
2 年多之前 回复
u013179958
u013179958 Hibernate给没给set集合排序的接口啊
2 年多之前 回复
u013179958
u013179958 有道理
2 年多之前 回复
luochoudan
luochoudan   Ds   Rxr 2016.02.28 21:40

自己排序实现就行了嘛。

u013179958
u013179958 楼上的说java有排序,他说的是什么...
2 年多之前 回复
wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.02.29 07:23

集合是无序的,而且它的元素是不能重复的。如果用Set作为映射集合,有个好处就是它会自动去重复的吧。
不能说Set没有意义,作为集合域,它可以存储一些对顺序没有要求的映射,再说了,数据查询如果没有特定的order by语句,查出的数据是按照数据库表插入先后顺序返回的,数据库查询时有默认排序处理的,不可能完全无序的。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
SSH框架之Hibernate的程序执行流程、Set集合映射、Set集合的数据保存
一、Hibernate程序执行流程: 二、Set集合映射 1、开发流程: 需求分析/数据库设计、项目设计/ 编码/测试/实施部署上线/验收 2、需求: 用户购买, 填写地址! 3、数据库设计: 4、代码实现: 1)javabean:User.java 2)User.hbm.xml 3)测试类:App.java
关于Hibernate中对集合类型的映射
Each interface has a matching implementationsupported by Hibernate, and it’s important that you use the right combination. 先说一个 @JoinColumn的问题。这个注解是用来说明关联列的信息的。按自然的做法是:多在Many端上描述这些信息,因为从DB表上来看
Hibernate Set集合映射简单例子
用户表(user_set)和电子邮件表(email_set)之间的关系:每个用户可以有多个不同的电子邮件地址,对用户来说,电子邮件就是一个集合,则在用户的实体类中就可以通过定义一个集合类型的属性来表达。 创建两个对应表: email_set: create table email_set( id int(11) not null, address varchar(100) not null
hibernate学习——Set集合配置
Set集合的配置 数据表的创建: create table EMPLOYEE ( id INT NOT NULL auto_increment, first_name VARCHAR(20) default NULL, last_name VARCHAR(20) default NULL, salary INT default NULL, PRIMARY KEY (id) );   c
关于hibernate的实体类中有集合类型转化成JSON的工具类
在做项目中遇见了包含集合类型(Set,List)的实体类,转化为json时报错。报错信息为: java.lang.StackOverflowError:该错误是由于当前线程的栈满了  ,也就是函数调用层级过多导致。在集合类型上无限的循环造成。 解决该问题,就是不用把实体类中集合类型的属性转化为json。对于也需要转化的再此文章中没有研究。
Hibernate 的Set、List、Map集合操作(添加,修改,查询)
Hibernate 的Set、List、Map集合操作(添加,修改,查询)
如何在<set>查询中加入where条件
查询出所有messageBox,并且messageBox.replies的replies要求 PARENT_REPLY_ID is null 生成的sql语句 Hibernate: select replies0_.MESSAGEBOX_ID as MESSAGEBOX5_1_1_, replies0_.id as id1_, replies0_.id as id2_0_, replies0_
Hibernate-多关系时对应的多个关联对象Set集合进行排序
直接通过对多关系get()/load()时,可以通过设置配置文件进行排序(表中的列名)//对set集合进行排序,asc升序,desc降序 <set name="emps" cascade="all" inverse="false" order-by="DEPTNO desc">如果是查询,可以直接在HQL语句结尾加order by类的属性名Hql=”from Emp order by eno asc
Hibernate映射set集合,order-by的作用
Set是无序不可重复的集合,常用的实现类HashSet也是如此,另外还有个LinkedHashSet,在每个节点上通过一个链表串联起来,这样,就可以保证确定的顺序。对于希望有常量复杂度的高效存取性能要求、同时又要求排序的情况下,可以直接使用LinkedHashSet 回到正题,今天才发现这样写之后,就可以根据subTypes这个集合所映射的表中的id字段的顺序存储。
Hibernate中实现Set集合的排序
问题起源:http://blog.csdn.net/akmissxt/article/details/79393251Hibernate的一对多、多对一和多对多关系中,使用Set集合储存数据,所以可能存在多次查询得到的数据顺序不一致。以博客系统为例,用户类User中有专栏类Category的Set集合(隐去其他无关属性):public class User { private Set&amp;lt;...