社区
Web 开发
帖子详情
用hibernate实现组合查询
xiyuan666
2009-01-16 06:22:12
用hibernate怎么实现像http://bj.ganji.com/fang1/0099.htm页面上的组合查询阿,急
...全文
498
10
打赏
收藏
用hibernate实现组合查询
用hibernate怎么实现像http://bj.ganji.com/fang1/0099.htm页面上的组合查询阿,急
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
GkfSyser
2009-01-16
打赏
举报
回复
可以自己写hql,条件完了and一下不就完了
也可以Criteria
xiyuan666
2009-01-16
打赏
举报
回复
你说的我明白,如果仅仅有一个一对多的关系的话就好说了,可是不仅仅有公交是这种关系,还有别的查询条件呢,我值接从公交里get,那其他条件怎么办,其他的一对多怎么办?
GkfSyser
2009-01-16
打赏
举报
回复
你这样最好弄个中间表,然后互相关联房屋信息表和公交站表,你去看看hibernate关联查询吧
GkfSyser
2009-01-16
打赏
举报
回复
公交站和房屋信息表互相关联,1个房屋信息下面有很多公交站点,这就是一对多关系,然后你在多的一方公交站.get房屋信息
xiyuan666
2009-01-16
打赏
举报
回复
非常感谢,我是用的Criteria查询可是我有个问题,打个比方我有个房屋信息表,有个公交站表,我发布房屋信息的时候可以选择多个公交站,现在我的查询条件里有公交站,我应该怎么才能根据公交站去查到包含这个公交站的房屋信息。我说的稀里糊涂的,望见谅
GkfSyser
2009-01-16
打赏
举报
回复
把视图层提交来的那些房屋信息,封装在一个类里 然后DAO里判断每个条件是否为null 不为null就criteria.add
GkfSyser
2009-01-16
打赏
举报
回复
Criteria查询
Hibernate中的Criteria API提供了另一种查询持久化的方法。它让你能够使用简单的API动态的构建查询,它灵活的特性通常用于搜索条件的数量可变的情况。
Criteria查询之所以灵活是因为它可以借助Java语言,在Java的帮助下它拥有超越HQL的功能。Criteria查询也是Hibernate竭力推荐的一种面向对象的查询方式。
Criteria查询的缺点在于只能检索完整的对象,不支持统计函数,它本身的API也抬高了一定的学习坡度。
Criteria查询示例代码
Session session=HibernateUtil.getSession();
Criteria criteria=session.createCriteria(User.class);
// 条件一:名称以关开头
criteria.add(Restrictions.like("name", "关%"));
// 条件二:email出现在数组中
String[] arr={"1@2.3","2@2.3","3@2.3"};
criteria.add(Restrictions.in("email", arr));
// 条件三:password等于一
criteria.add(Restrictions.eq("password", "1"));
// 排序条件:按登录时间升序
criteria.addOrder(Order.asc("lastLoginTime"));
List<User> users=(List<User>)criteria.list();
System.out.println("返回的User实例数为"+users.size());
for(User user:users){
System.out.println(user);
}
GkfSyser
2009-01-16
打赏
举报
回复
自己拼hql字符串或者用Critera类实现多条件查询
利用Java Reflection(反射)原理,在
hibernate
里面
实现
对单表、视图的动态
组合
查询
Reflection 是 Java 程序开发语言的特征之一,它允许运行中的程序对自身进行访问,并能直接操作程序的内部属性。
Hibernate
是一个面向Java环境的对象/关系数据库映射工具,基本上,每个表或者视图在
hibernate
里面都可以对应一个类,在此处,我们通过充分的利用这个类,来
实现
动态
组合
查询
。首先我们一起来看看这个函数的源代码: /** *
组合
查询
第29章 J2EE SSH基础学习-Struts2-基于
Hibernate
的
组合
查询
和分页技术
实现
本章主要借助于StudentQueryHelper类对象进行了条件
组合
查询
的基础
实现
,其基本思路就是将各种条件封装在QueryHelper类里面,然后调用
Hibernate
的DetachedCriteria将
组合
条件进行拆解并
组合
。最后执行
查询
请求。分页技术基本上借助了Page这个类对象完成了页面的分页功能。就是将
查询
到的信息放到page里面替代我们原来的直接使用List记录集,从而
实现
了页面的分...
利用
hibernate
实现
多条件
组合
查询
的两种方式(2017年5月18日22:45:09)
利用
hibernate
实现
多条件
组合
查询
的两种方式:find和findByCriteria
hibernate
的
查询
条件lt_关于使用
Hibernate
的任意条件
组合
查询
的
实现
2 楼rasonyang2007-08-21通用的
查询
可以采用DSL Criteria Style api。
Hibernate
的Criteria做得并不好。比如1 简单的List users = GenericDAO.find(User.class,"groups:g.name","开发部")2 复杂的Criterion criterion = Criterions.select(distinc...
关于使用
Hibernate
的任意条件
组合
查询
的
实现
其实没有用orm之前,如果系统分层比较彻底的话,也同样有这个问题。我们崇尚service层不包含数据访问的东西,包括sql语句等。这些都应该是dao层
实现
。但是很多
查询
功能都需要能够多条件任意
组合
查询
。这个时候数dao层应该如何支撑? 我的想法是: 1.做一个比较通用的
查询
功能,比如设计一个参数类,
查询
条件通过这个参数类传递到dao层。dao负责解析; 2.就是dao层穷举这些所有可能的...
Web 开发
81,108
社区成员
341,721
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章