lazy是延时的意思,如果lazy=true,那么就是说数据库中关联子表的信息在hibernate容器启动的时候不会加载,而是在你真正的访问到字表非标识字段的时候,才会去加载。
反之,如果lazy=false的话,就是说,子表的信息会同主表信息同时加载。
一般用只有完全用到子表信息的时候,才会lazy=false
lazy 懒加载,直接给例子把
两个POJO类
class A{
int id;
B b;
//getter and setter
}
class B{
int id;
String name;
}
在A.hbm.xml中如果用lazy="true"
那么就可以用A.B.name,输出对应的B的name;
如果lazy="false" 那么 A.B.name会报错
true的话,取出实体的时候不会取关联属性,只有访问到才会去数据库取值,false的话就是关掉lazy,这样去实体的时候自动将关联属性取出来,这样生成很多条sql语句,影响性能,如果一开始就用到关联属性还好,用不到的话就浪费了,推荐lazy=true。
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....