复合查询:
复合查询主要是处理,具有关联关系的两个实体怎样进行关联查询,比如User实体对象与Addres实体对象具有一对多的关联关系,我们可以如下构造符合查询:
Criteria criteria=session.createCriteria(User.class);
Criteria addcriteria=criteria.createCriteria(“addresses”);(1)
addcriteria.add(Express.like(“address”,”%tianjin%”));
List list=criteria.list();
for(int i=0;i
User user=(User)list.get(i);
System.out.println(user.getName()+”\n”);
Set addresses=user.getAddresses();
Iterator it=addresses.iterator();
while(it.hasNext(){
Address address=(Address)it.next();
System.out.println(address.getAddress()+”\n”);
}
}
当执行到了(1)处时,表明要针对User对象的addresses属性添加新的查询条件,因此当执行criteria.list()时,Hibernate会生成类似如下的SQL语句:
Select * from user inner join address on user.id=address.id where
address.address like ‘%shanghai%’;
正如我们所见,我们可以通过向Criteria中添加保存关联对象的集合属性(addresses属性保存与User对象相关联的Address对象),来构造复合查询,在数据库一端是通过内连接查询来实现。
分享到:
相关推荐
hiberante高级查询的 方法
Hibernate连表查询 Hibernate连表查询
Hibernate的查询方式Hibernate的查询方式
Hibernate QBC高级查询 大家放心收藏! saivixky出品!必属精品!
Hibernate分页查询小结
hibernate里面的 两种查询 离线查询 和 HQL语句查询
Hibernate高级教程,14个章节,重点映射关系,HQL查询及缓存等
Hibernate中的查询方法若HQL,详细讲解HQL与使用的具体例子
实际开发中碰到一个使用hibernate递归查询的问题。我解决了发出来给大家一起分享
hibernate查询之HQLhibernate查询之HQLhibernate查询之HQL
Hibernate_query查询数据表中的一个字段.
hibernate多表联合查询实例,很经典的查询语句和总结.
hibernate自定义查询
Hibernate高级映射的几个单向关系,单向一对一(共享主键方式、唯一外键方式),单向多对一,单向一对多,单向多对多。
Hibernate 查询语言 HQL 是一种面向对象的查询语言,用于检索对象。它提供了灵活多样的查询机制,包括导航对象图、通过标识符检索、使用 HQL 检索对象、使用 Hibernate 条件 API 和使用本地 SQL 查询等。 在 ...
hibernate子查询
hibernate关联查询 实例源码 java web 如果不明白hibernate关联查询不明白的可以看看,保证马上学会,注释,数据库都有,很简单易学的源码,谢谢下载!
HQL是hibernate自己的一套查询
Hibernate分页查询原理解读 , 忘记以前在哪看的了, 现在贴出来和大家分享一下。
hibernate实现动态SQL查询,通过XML配置SQL,FREEMARKER 解析,生成要执行的SQL