Hibernate表链接查询

问题描述

有二张表student id name 1 张三books id stuId(外键) bookName type 1 1 MySql 数据库 2 1 Java 程序语言请问:在使用Hibernate即时加载的情况下:"From Student "会把所有加载books集合,可以把学生和书查出来,如果想在即时加载时只查books表中type为"数据库"的,请问如何写Hql? 谢谢!问题补充:请问: 如果我的配置文件里使用延时加载的话,我的hql如何写才能够即时加载books的集合呢?并且符合上面的条件 .. 谢谢了!

解决方案

HQL语句就像楼上这位朋友写的。如果你设置了延迟加载,当你检索完一个Student对象后,Hibernate不会初始化这个对象中的books集合,当你调用student.getBooks().iterator()这段代码的时候,Hibernate就会为你初始化这个集合了。所以,不用担心HQL语句的问题,正常查询就可以了。如果要写这样的HQL语句的话,你可以这样写试试from Student s join fetch s.books
解决方案二:
from Student s where s.books.type ='数据库'books 为 Student 的一个Set 类型的属性需要在Student.hbm.xml 里配置。Student 和 Book之间的一对多的关系。希望对lz有所帮助

时间: 2024-09-21 01:01:12

Hibernate表链接查询的相关文章

hibernate4-想请大家帮忙下 用hibernate如何写查询语句

问题描述 想请大家帮忙下 用hibernate如何写查询语句 例如 group表 plate表 id name plate_id id name 1 用户管理 1 1 系统管理 2 :机构管理 1 2 业务管理 3 菜单管理 1 4 角色管理 1 5 业务查询 2 如何查询得到: 主 从 系统管理: 用户管理 机构管理 菜单管理 角色管理 业务管理: 业务查询

关于sql表链接查询,表链接查询

问题描述 关于sql表链接查询,表链接查询 现在我有两个表,表1和表2,表2是表1的外键表 我要表链接查询,查询表1的数据不重复!比如: 表1 id name 1 陈 表2 Tid id servicename 1 1 服务1 2 1 服务2 如果是怎样查询是有两条数据的,我怎样去掉重复的 select a.* from 表1 a left join 表2 b on a.id=b.id where b.servicename like '%服务%' 解决方案 group by或者distinct

java-请问hibernate多表查询后如何映射到非持久化值对象

问题描述 请问hibernate多表查询后如何映射到非持久化值对象 请问hibernate多表查询后如何映射到非持久化值对象dao层使用的是泛型

mvc-MVC5 entity framework6 表链接查询 怎么回事?

问题描述 MVC5 entity framework6 表链接查询 怎么回事? model代码如下: public class Orders { [Key] public int OrdersId { set; get; } //订单号 public string OrdersNum { set; get; } public string ProductName { set; get; } public int ProductId { set; get; } public string Pric

hibernate的Criteria查询有没有可以把日期转换成string进行比较的方法?

问题描述 hibernate的Criteria查询有没有可以把日期转换成string进行比较的方法? 我要实现类似to__char(date,'yyyy-mm-dd') like '2016-04%'的比较,但是不知道DetachedCriteria中应该怎么写才能实现?

hibernate一对多查询问题

问题描述 hibernate一对多查询问题 我想用hibernate查询得到的list集合转化为json后是这种效果[{"分类id":"1","商品":[{"分类id":"1","name":".商品1"},{"分类id":"1","name":"商品2"}]},{"分类id&q

hibernate-求救啊,Hibernate的问题,查询的时候报错

问题描述 求救啊,Hibernate的问题,查询的时候报错 org.hibernate.QueryException: could not resolve property: user.uuid of: com.chebeiyuan.entity.Usercar at org.hibernate.persister.entity.AbstractPropertyMapping.propertyException(AbstractPropertyMapping.java:67) at org.hi

代码-关于Hibernate的动态查询

问题描述 关于Hibernate的动态查询 今天修改原来的分页代码,如下: DetachedCriteria dc=DetachedCriteria.forClass(Question.class); dc.add(Restrictions.isNotNull("userid")); //不为空 List questions=(List) this.hibernateTemplate.findByCriteria(dc,0,3); System.out.println("内容

hibernate多表查询返回object,有没有更好的解决办法

问题描述 hibernate多表查询返回object,有没有更好的解决办法 各位大神,您们好!小弟最近才开始学习hibernate,hibernate多表查询返回object的数组,有没有办法让它返回以主表为根对象的对象集合,根对象可以使用get子对象的方法获取到其它的从表映射的对象.fetch="join" <hibernate-mapping> <class name="com.zdsoft.entity.Sysuser" table=&quo