这有很多种问题 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(); }
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(); 写错咯,当然看出来咯
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();
}
.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(); 写错咯,当然看出来咯