Hibernate笔记(三)

1.对象导航查询

两个相关的对象

2.OID查询

用id查出对象

3.hql查询

Query对象

1.hql

  • 查询所有 from entity
  • 条件查询 from entity where name=? setParameter(index,arg) 设置参数值
  • 模糊查询 from entity where name like ?;
  • 排序 from entity order by name desc
  • 分页 setFirstResult()开始位置 setMaxResults()每页数
  • 投影 select property from entity property不能是*
  • 聚集函数
    • count select count(* ) from entity query.uniqueResult()
    • 其他的类似
  • 多表查询
    • 内连接 form entity inner join entity.set 最后返回的是数组
    • 迫切内连接 form entity inner join fetch entity.set 最后返回的是list
    • 外连接 form entity left outer join entity.set 最后返回的是数组
    • 迫切左外连接 form entity left outer join fetch entity.set 最后返回的是list

4.QBC查询

Criteria对象 createCriteria(entity.class)

  • 查询所有 list()
  • 条件查询 add(Restrictions.eq/like/(“property”,”value”)) -> list()
  • 排序 addOrder(Order.asc(“property”))
  • 分页 setFirstResult()开始位置 setMaxResults()每页数
  • 统计查询 setProjection(Projetions.rowCount(10));
  • 离线查询 DetachCriteria deCriteria=DetachCriteria.forClass(entity.class)Criteria criteria=deCriteria.getExectueableCriteria(); 与session无关 5.本地sql查询 SQLQuery对象

6.Hibernate的查询策略

1.立即查询

get方法就是立即查询,方法执行立即发送语句 get(entity.Class,id)

2.延时查询

load方法是延时查询,方法调用不会立即发送语句,只有当我们获取返回的对象中的非id字段的值得时候才会发语句。

1.类级别的延迟

例如根据id的查询,最后查的是一个类的某个对象

2.关联级别的延迟

当表之间是有关系的,然后我们进行延迟查询

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java3y

Oracle总结【PLSQL学习】

PLSQL介绍 PLSQL是Oracle对SQL99的一种扩展,基本每一种数据库都会对SQL进行扩展,Oracle对SQL的扩展就叫做PLSQL… SQL99是...

37670
来自专栏不想当开发的产品不是好测试

mysql @value := 用法

背景 有这么一张表,记录名字和分数,现在需要按照成绩排名,存在并列名次的情况 ? 解决方法 思路:按照score从大到小排序,第一行数据就是第一名,第二行就是第...

32980
来自专栏Java帮帮-微信公众号-技术文章全总结

Oracle存储过程

Oracle存储过程 oracle 存储过程的基本语法 1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字 ( 参数...

47050
来自专栏逸鹏说道

SQL Server 索引和表体系结构(聚集索引+非聚集索引)

聚集索引 概述 关于索引和表体系结构的概念一直都是讨论比较多的话题,其中表的各种存储形式是讨论的重点,在各个网站上面也有很多关于这方面写的不错的文章,我写这...

36090
来自专栏求教

哪位大神指点下

File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\logging\...

11400
来自专栏栗霖积跬步之旅

第八章:用通配符进行过滤

表名:products  字段:product_id、product_name、product_price、vend_id(供应商) 1.LIKE操作符: 通配...

20950
来自专栏GreenLeaves

EF 通过DataAnnotations配置属性和类型

 一、通过Attribute配置约束 1、主键约束 通过KeyAttribute来配置主键约束,代码如下: [Key] public int PrimaryKe...

22850
来自专栏恰童鞋骚年

走向面试之数据库基础:三、SQL进阶之变量、事务、存储过程与触发器

  SELECT 以表格的方式输出,可以同时输出多个变量;而PRINT 则是以文本的方式输出,一次只能输出一个变量的值。

11220
来自专栏lonelydawn的前端猿区

oracle细节

01、SQL查询语句不区分大小写,但是数据区分 02、where从句中Name=null是查询不到结果的,必须用 is null 03、union去重,unio...

26180
来自专栏信安之路

sqlmap自带的tamper你了解多少?

sqlmap 是一款注入神器广为人知,里面的 tamper 常常用来绕过 WAF ,很实用的模块,但是却常常被新手忽略(比如我),今天就整理总结一下 tampe...

12600

扫码关注云+社区

领取腾讯云代金券