论坛首页 Java企业应用论坛

如何在一个HQL中对子表使用查询条件?

浏览 13166 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2004-01-06  
 一个父表和一个子表, 我想只取出父表的对象, 但是对于父表的每一个对象
 我要对他的孩子有一定的条件限制,如果用一个HQL语句可以实现吗?                    请哪                                 位给个例句吧! 
   发表时间:2004-01-07  
这样可以把
select parent from Parent as parent inner join Child as child where child .属性=?
0 请登录后投票
   发表时间:2004-01-07  
 不可以, 这样我得到的是一个Object[] 中有一个parent对象和一个child对象阿,

我是想要只得到parent对象, 但是他的childs中只是符合条件的,不是所有的.
0 请登录后投票
   发表时间:2004-01-07  
不好意思,我有个失误 , 我想问的是用这样的语句,
child是个集合阿,假如是个set, 该如何来写where条件呢? 条件假如是id>?
0 请登录后投票
   发表时间:2004-01-07  
你是不是想根据child的条件得到parent,然后再根据
parent.getChilds()取得那些符合条件的子对象呢?
0 请登录后投票
   发表时间:2004-01-07  
是的, 就是得到的parent里的child只能是那些符合条件的,可以得到吗?
0 请登录后投票
   发表时间:2004-01-07  
我也遇到这样的问题,不知道有没好的方法,找班主来看看把
0 请登录后投票
   发表时间:2004-01-07  
String hql = "select parent,child from Parent as parent inner join parent.Child as child where child. id>?";

然后
Query query = ss.createQuery(hql);
List list = query.list();
for (int i=0; i< list .size(); ; i++) {
Object[] row = (Object[]) list .get(i);
Parent p = (Parent ) row[0];
Child c= (Child) row[1];
然后将 c 放入一个Collection里
}

这样可以把
0 请登录后投票
   发表时间:2004-01-07  
呵呵, 你的方法好土阿, 我知道有一个方法, 用
session.filter(Collection, HQL  ) 可以实现, 而且是懒加载, 我是想知道在一个HQL中能不能达到这样的功能, 注意,这个Collection 是 parent.getChild(); 而不是parent的Collectioin.
有没有人能给个答复阿: (
0 请登录后投票
   发表时间:2004-01-07  
我更麻烦
我的Class里有两个Set
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics