hibernate 懒加载不懂 求解.
public static void main(String[] args) {
User user = new User();
user.setBirthday(new Date());
user.setName("wang.beyond");
addUser(user);
User user1 = getUser1(user.getId());
System.out.println("id: "+user1.getId());
System.out.println("name: "+user1.getName());
System.out.println("birthday: "+user1.getBirthday());
System.out.println("end");
}
-----------------------------------------
/**
* 用懒加载的方法得到数据操作
* */
static User getUser1(int id){
Session s = null;
Transaction tx = null;
try {
/**生成session*/
s = HibernateUtil.getSession();
User user = (User)s.load(User.class, id);
System.out.println("id: "+user.getId());
return user;
}finally{
if(s != null)
s.close();
}
}
为什么在懒加载函数User user = (User)s.get(User.class, id); 后面加一句System.out.println("id: "+user.getId()); 在main函数就能取到相应的数据了
有人说加载了user.getId()就表示告诉hibernate这个时候要读取数据 我把System.out.println("id: "+user.getId()); 删了 main函数里面还是有类似的方法 为什么就不能取到数据?