select w.wareName,r.ResQty from jxcreserve r join jxcware w on r.wareId = w.wareId
 这条查询语句,如果换成hql语句该怎么写啊。

解决方案 »

  1.   

    看下这几个概念
    one-to-many
    many-to-one
    left join
      

  2.   

    select a.name,b.count from 表一 a,表二 b where a.id=b.Named
      

  3.   

    select u.name, s.count from package.User u, package.Salary s where u.id=s.named
    这个hql用于User和Salary没有任何关联时使用如果User与Salary是一对多的:
    select u.name, s.count from package.User u join u.salary s where u.id=s.named返回的list中的每个实例是Object[2],要强制转换String
      

  4.   

    public List list() throws Exception {
    log.warn("---->显示所有库存信息");
    Session session = BaseHibernate.getSession();
    // select user.id,relation.id from User user,Relationship relation
    List query = session.createQuery("select s.wareName,u.ResQty from Reserve u join Ware s where u.wareId=s.wareId").list(); BaseHibernate.closeSession(session);
    return query;
    }
    这是方法的代码,不知道怎么搞的连接两个表中的数据就是显示不出来。.hbm.xml是没有问题的,添加,删除,更新都没问题。显示如果用form 表名也能显示出数据,可是一关联另外一个表就不显示数据啦。。偶在hbm.xml文件中做的是一对多的关系映射,没问题,。可数据就是不显示郁闷。
    请路过的高人指点呢。。
      

  5.   

    他们是一对多的关系?这么写
    select s.wareName,u.ResQty from Reserve u join u.ware s where u.wareId=s.wareIdu.ware看你映射文件怎么定义了,也就是Reserve类中的Set类型的变量名