hibernate中load()和get()的区别
来源:互联网 发布:淘宝里面高仿手表店铺 编辑:程序博客网 时间:2024/06/05 02:32
程序可以通过load()来加载一个持久化实例,这种加载就是根据持久化类的标识属性值加载持久化实例——其实质就是根据逐渐从数据表中加载一条新记录。
User existUser = session.laod(User.class, pk);上面代码中的pk就是需要加载的持久化实例的标识属性。
如果没有匹配的数据库记录,load()方法可能抛出HibernateException;如果在持久化注解中指定了延迟加载,则load()方法会返回一个未初始化的代理对象(可以理解为持久化对象的替身),这个代理对象并没有加载数据记录,直到程序调用该代理对象的某方法时,Hibernate才会去访问数据库。
如果希望在某对象中创建一个指向另一个对象的关联,又不想从数据库中装载该对象的同时立即装载所关联的全部对象,延迟加载方式就非常有用了。
与load()方法类似的是get()方法,get()方法也用于根据主键加载持久化实例,但get()方法会立刻访问数据库,如果没有对应的记录,get()方法返回null,而不是返回一个代理对象。
load()方法和get()方法主要区别在于是否延迟加载。
阅读全文
0 0
- Hibernate中load和get的区别
- Hibernate中get和load的区别
- Hibernate中get和load的区别
- hibernate中get和load的区别
- Hibernate中get和load的区别
- hibernate 中get()和load()的区别
- Hibernate中get和load的区别
- Hibernate中 get和load的区别
- Hibernate中get和load的区别
- 【Hibernate中load和get的区别】
- Hibernate中get和load的区别
- Hibernate中load和get的区别
- Hibernate中get和load的区别
- Hibernate中get()和load()的区别
- Hibernate 中 get 和 load的区别
- Hibernate中get和load的区别
- hibernate中load和get的区别
- hibernate中get和load的区别
- Java遍历目录
- 证书的引入
- Mac下用vue-cli+webpack+bootstrap实现一个todolist(二)
- Hadoop生态系统及版本
- windows 64位安装redis 及Redis Desktop Manager使用
- hibernate中load()和get()的区别
- Servlet获取初始化参数
- MVC模型介绍
- Hadoop安装
- HDFS的基本概念
- HDFS数据管理策略
- 使用Servlet技术实现购物车总体介绍
- 简易购物车实体类的设计
- 简易购物车Servlet类实现