大牛们,小弟问个问题?hibernate应用中,大家是直接用hql语句解决和是openSessionInView来解决下面这个问题.问题如下:
public class Student {
private int id;
private String name;
private Group group;
getter And setter
}
public class Group{
private int id;
private String name;
getter And setter
}
现在我向把student显示在jsp中,同时显示它所在的组;
直接用hql语句解决:select new Student(s.id,s.name,g.name) from Student s jion fetch s.group g
使用hibernate的layze,select s from from Student s;在页面上用s.group.name的时候hibernate会在发出一条查找语句去查询group
我觉得使用hibernate的延迟加载是总会查询出表所有的字段,就像为了得到一个名字又去查询查询一次数据库,我觉得这样不好(即使是在用到的时候在去查询),大牛们,你们在hibernate应用中对这样的问题都是怎么用的,那种方法好
public class Student {
private int id;
private String name;
private Group group;
getter And setter
}
public class Group{
private int id;
private String name;
getter And setter
}
现在我向把student显示在jsp中,同时显示它所在的组;
直接用hql语句解决:select new Student(s.id,s.name,g.name) from Student s jion fetch s.group g
使用hibernate的layze,select s from from Student s;在页面上用s.group.name的时候hibernate会在发出一条查找语句去查询group
我觉得使用hibernate的延迟加载是总会查询出表所有的字段,就像为了得到一个名字又去查询查询一次数据库,我觉得这样不好(即使是在用到的时候在去查询),大牛们,你们在hibernate应用中对这样的问题都是怎么用的,那种方法好