kkllmey 2008-09-01 17:07
浏览 214
已采纳

Hibernate表链接查询

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

  • 写回答

2条回答 默认 最新

  • iteye_18036 2008-09-01 19:27
    关注

    HQL语句就像楼上这位朋友写的。

    如果你设置了延迟加载,当你检索完一个Student对象后,Hibernate不会初始化这个对象中的books集合,当你调用student.getBooks().iterator()这段代码的时候,Hibernate就会为你初始化这个集合了。所以,不用担心HQL语句的问题,正常查询就可以了。

    如果要写这样的HQL语句的话,你可以这样写试试from Student s join fetch s.books

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?