hibernate工作流程

1.web服务器启动,通过初始化web.xml文件里的一系列配置文件信息来达到加载与hibernate相关文件效果

2.请求经过控制层,业务层后到达数据访问层,此时创建sessionFactory

3.获取当前session

4.进行持久化操作

5.关闭session

6.关闭sessionFactory

hibernate实现延迟加载的一个例子(load)

get与load区别

get方法直接发出SQL语句从数据库里获取数据

load方法返回的并不是数据,而是一个代理类,当外界真正需要用到这些数据时,才会发出SQL语句从数据库里获取数据

比如说我要从数据库里获取user表的信息,最终返回给user实体类或是一个list集合,如果使用的是get方法,那么返回的集合里

都是user表里的数据,如果使用load方法,那么返回的集合或是这个实体类其实里面并没有真正的数据,而只是一个代理而已,当外界要获取

实体类相关信息,比如user.getXX()或是users.get(index),此时这个代理会发出真正的sql并从数据库里获取数据

你可能感兴趣的:(article)