1.lazyload延迟加载
为了减少不必要的性能开销,用hibernate获取的对象会在使用这个实体对象或者集合的时候才去从数据库加载数据。
1)实体
在使用这个对象之前会以代理对象的形式存在,而怎么才能知道对象是否使用呢,通过使用CGLIB包进行代理设置。
2)集合
使用net.sf.hibernate.collection.Set而不是使用java.util.Set来实现集合的延迟加载,根据cache策略的不同延迟加载的方式也会不同
3)hibernate3实现了属性的延迟加载
2.hibernate原理
使用orm即对象-关系映射方法。将table和bean通过配置文件做到映射。
通过在配置文件中的配置信息创建sessionfactory,然后创建session然后做事务操作。
3.缓存机制
分为session缓存和应用缓存
session缓存只在session创建且还未提交的情况下存在,属于事务级缓存