Hibernate中session回话的get方法和load方法的区别
2024-08-27 22:42:23
1、报错方式不同:
前提:获取的数据不存在
get方法会报异常:空指针异常
load方法会报异常:对象为找到异常,给定值没有行存在。
2、load方法
这种方式总是会返回一个代理而不是真正得去查询数据库。 在Hibernate里面,代理是一个依据ID值获取到的对象,该对象的属性还没有初始化,它看起来就是一个临时的虚拟对象而已。
如果load方法没有找到数据,就会抛出ObjectNotFoundException.
3、get方法
这种方式总是会去数据库查询数据并返回一个真实的对象,该对象就代表数据库中的一行而非代理。
如果没有找到数据就会返回null.
总结:
1. load方法支持延迟加载而get方法则不会。
2. load方法在没找到数据的时候会抛出ObjectNotFoundException而get方法则会返回空
最新文章
- dos学习
- ES6新特性:Javascript中内置的延迟对象Promise
- MAC OSX环境下cordova+Ionic的安装配置
- 编写Java应用程序。首先定义一个描述银行账户的Account类,包括成员变 量“账号”和“存款余额”,成员方法有“存款”、“取款”和“余额查询”。其次, 编写一个主类,在主类中测试Account类的功能
- uva 11572 unique snowflakes——yhx
- dell ipmi sol
- linux运维常用命令
- openerp service install
- openNebula dubug
- HDU 4344 随机法判素数(费马小定理
- 数独问题的介绍及POJ 2676-Sudoku(dfs+剪枝)
- 反编译app方法
- iOS开发实战-时光记账Demo 网络版
- Pyinstaller(python打包为exe文件)
- Android Studio 升级到3.0 提示 java.lang.NoClassDefFoundError
- aop难点解析。
- MyEclipse10+Jdk1.7+OSGI+MySql实现数据库的增删改查
- 01. Overview Redis 关于Redis
- 微信小程序--帮助选择困难症者
- orm查询存在价格为空问题