二.Hibernate 提供的查询方式
2015-09-18 23:41
225 查看
OID查询方式(o指的是object)
通过get()和load()方法加载指定OID的对象
save()添加 update()更新 delete()删除
HQL查询方式(面向对象的查询语言)
query的list()方法返回查询的集合
属性查询
投影查询(实体类中必须有对应的构造方法)
分页的实现
query.setFristResult((pageindex-1)*pagesize);设置开始的记录数
query.setFristResult(pagesize);设置每页最大记录数
连接查询 》内连接(From Entity inner join Entity.property)
》外连接(From Entity outer join Entity.property)
》左外连接(From Entity left join Entity.property)
》右外连接(From Entity right join Entity.property)
实体更新和实体删除都是调用的executeUpdate()方法。
通过query接口使用HQL语言进行查询
QBC查询方式
通过Criteria等接口和类进行查询;
本地SQl查询方式
使用原生SQL语言进行查询
对象导航查询方式
通过已经加载的对象,导航到其关联对象
Hibernate检索策略
立即检索:立即加载与当前对相关联风对象,需要执行对跳select语句
延迟检索:不立即加载与当前对相关联的对象,在第一次访问关联对象时才加载在其信息
迫切做外连接检索:通过做外连接加载与当前对象关联的对象。为立即加载检索策略,但
在执行的select语句少,只执行1条select连接查询语句
检索作用域》类级别:只作用于当前对象load()》关联级别:
类级别检索只支持load()或get()。当需要按照OID方式查找时建议用类级别检索
——load和get方法的区别
》记录不存在时的处理方式不同 get()返回Null,load抛出HibetnateException异常
》load可以返回实体的代理类是咧,get永远都是直接实体类。或者说liad方法支持延迟加载配置Lazy="true",而get
方法总是立即加载.
2.对于HQL增,删,改 要进行事物的处理(Transaction)注意:打开的事物必须创建事物对象接收,操作后必须尽心事物的提交(commit)不然报空指针异常.
通过get()和load()方法加载指定OID的对象
save()添加 update()更新 delete()删除
HQL查询方式(面向对象的查询语言)
query的list()方法返回查询的集合
属性查询
投影查询(实体类中必须有对应的构造方法)
select Emp(ename,pno) from Emp
分页的实现
query.setFristResult((pageindex-1)*pagesize);设置开始的记录数
query.setFristResult(pagesize);设置每页最大记录数
连接查询 》内连接(From Entity inner join Entity.property)
》外连接(From Entity outer join Entity.property)
》左外连接(From Entity left join Entity.property)
》右外连接(From Entity right join Entity.property)
实体更新和实体删除都是调用的executeUpdate()方法。
通过query接口使用HQL语言进行查询
QBC查询方式
通过Criteria等接口和类进行查询;
本地SQl查询方式
使用原生SQL语言进行查询
对象导航查询方式
通过已经加载的对象,导航到其关联对象
Hibernate检索策略
立即检索:立即加载与当前对相关联风对象,需要执行对跳select语句
延迟检索:不立即加载与当前对相关联的对象,在第一次访问关联对象时才加载在其信息
迫切做外连接检索:通过做外连接加载与当前对象关联的对象。为立即加载检索策略,但
在执行的select语句少,只执行1条select连接查询语句
检索作用域》类级别:只作用于当前对象load()》关联级别:
类级别检索只支持load()或get()。当需要按照OID方式查找时建议用类级别检索
——load和get方法的区别
》记录不存在时的处理方式不同 get()返回Null,load抛出HibetnateException异常
》load可以返回实体的代理类是咧,get永远都是直接实体类。或者说liad方法支持延迟加载配置Lazy="true",而get
方法总是立即加载.
2.对于HQL增,删,改 要进行事物的处理(Transaction)注意:打开的事物必须创建事物对象接收,操作后必须尽心事物的提交(commit)不然报空指针异常.
相关文章推荐
- logback输出到控制台和文件--配置
- 每日趣味算法(2015年9月18日)
- 点击单个cell高度变化的动画效果
- zx一篇让Java程序猿随时可以翻看的Oracle总结
- 天天学设计模式2-策略模式
- log等级
- 开发经验交流-----ServiceUtil工具类
- Android的jni学习之路--第一篇
- js表单验证,要求数字
- 学习日志---hdfs配置及原理+yarn的配置
- Apache POI
- Apache fileUpload
- spring3.0 MVC的简单示例
- PING命令 原理
- ksh 0403 031问题出现
- maven多模块项目
- 零基础学python-18.4 函数对象:间接调用函数
- sql查询最大的见多了,查询第二的呢???
- 零基础学python-18.4 函数对象:间接调用函数
- 手把手教你生成二维码-google.zxing