就是在跳转到显示集团法人页面的时候有一栏是集团一览表中的集团全称,HIBERNATE同时读取集团法人表和集团一览表中的所有数据,现在想让HIBERNATE只读取集团一览表中需要的集团全称那一列不需要集团一览表中的所有字段应该在HIBERNATE中如何配置

解决方案 »

  1.   

    hibernate3对属性也可以实现延迟加载.你也可以SELECT 字段来实现
      

  2.   

    这有很多种问题
    1:首先你把 lazy="true" (注意session的关闭) 让它延迟  在显示数据时如果要显示集团一览表全称时再用存表去直接.点属性让它查询出来
    2:如果还是慢你就用hql语句来一个联接查询
    3:如果再觉得慢话:用本地SQL语句查询(跟jdbc一样纯SQL语句) create..SQL  这下就得到你想要的那个效果了吧...  
    给你来个本地SQL语句的例子吧://使用本地SQL,显示所有商品的商品名、价格以及类别信息,并降序排列
     public void qryProByNativeSQL(){
      Session session=this.getSession();
      List<Product> list=session
      .createSQLQuery("select p.product_name,p.product_price,c.category_name from products as p,categories as c where c.category_id=p.category_id order by p.product_price desc")
      .list();
      for(Object obj:list){
       Object[] object=(Object[])obj;
       System.out.println(object[0]+":"+object[1]+":"+object[2]);
      }
      session.close();
     }
      

  3.   

    List <Object> list=session 
      .createSQLQuery("select p.product_name,p.product_price,c.category_name from products as p,categories as c where c.category_id=p.category_id order by p.product_price desc") 
      .list(); 写错咯,当然看出来咯