1、如果找不到符合条件的纪录,get()方法将返回null.而load()将会报ObjectNotFoundEcception。
2、load()方法可以返回实体的代理类实例,而get()永远只返回实体类.(get不支持延迟加载,load支持)
3、load()方法可以充分利用二级缓存和内部缓存的现有数据,而get()方法只在内部缓存中进行查找,如没有发现对应数据将跳过二级缓存,直接调用SQL完成查找.
//悲观锁
/*String hql="from Emp as emp where emp.empname='李四'";*/
Query query=session.createQuery(hql);
//加锁
query.setLockMode("emp",LockMode.UPGRADE);
//执行查询,获取数据
List empList=query.list();