有这样一条sql:select * from Test a where a.b in (select b from Test2 c where c.e="f");
Test和Test2表没有任何住外键关系,怎么用hql做查询?是不是要在配置文件了做两表的配置?

解决方案 »

  1.   

    当然要做配置了 pojo类中要体现,相应的hbm文件要配置  具体配置方法  去百度搜搜吧  一对多 多对一 关系等
      

  2.   

    这两张表都没有关系怎么做映射啊?就是一个子查询。Test2表就是一个字典表。
      

  3.   

    session.createSQLQuery("select * from Test a where a.b in (select b from Test2 c where c.e="f")")
      

  4.   

    用SQL写
    List list = session.createSQLQuery(sql).list;
    List<Object []> list = query.list();
    if(list.size()>0){
      for(Object obj [] : list){
        System.out.println(obj[0].toString());
        System.out.println(obj[1].toString());
      }
    }
      

  5.   

    select * from Test a where a.b in (select b from Test2 c where c.e="f")
    这里的 test表对应的对象是什么 a.b 换成对象的属性