Hibernate之类级别查询

来源:互联网 发布:淘宝卖家改评价链接 编辑:程序博客网 时间:2024/06/06 01:45
Hibernate之类级别查询
类级别查询
get方法:没有任何策略.调用即立即查询数据库加载数据.
load方法: 应用类级别的加载策略
(配置:)<class name="Customer" table="cst_customer" lazy="true">
(1)lazy(默认值):true, 查询类时,会返回代理对象.会在使用属性时,根据关联的session查询数据库.加载数据.
(2)lazy:false. load方法会与get方法没有任何区别.调用时即加载数据.
结论:为了提高效率.建议使用延迟加载(懒加载)
注意:使用懒加载时要确保,调用属性加载数据时,session还是打开的.不然会抛出异常
@Test
// load方法(默认):是在执行时,不发送任何sql语句.返回一个对象.使用该对象时,才执行查询.
// 延迟加载: 仅仅获得没有使用.不会查询.在使用时才进行查询.
// 是否对类进行延迟加载: 可以通过在class元素上配置lazy属性来控制.
//lazy:true  加载时,不查询.使用时才查询
//lazy:false 加载时立即查询.
public void loadDemo1() {
Session session = HibernateUtils.getCurrentSession();
Transaction tx = session.beginTransaction();

Customer customer = session.load(Customer.class, 2l);
System.out.println(customer);
tx.commit();

}
原创粉丝点击