Hibernate框架数据库操作

表与表之间的关系

一对一 (使用一张表即可达到效果)

使用一张表即可达到效果

一对多

客户和联系人 ---> 一对多关系 (一个客户有多个联系人)

  • 客户 : 与公司有业务往来,百度,新浪,360
  • 联系人 :公司里的员工
Hibernate框架数据库操作_第1张图片
一对多

创建实体类

Hibernate框架数据库操作_第2张图片
客户类
Hibernate框架数据库操作_第3张图片
联系人类

配置一对多映射

Hibernate框架数据库操作_第4张图片
one-to-many
Hibernate框架数据库操作_第5张图片
many-to-one
Hibernate框架数据库操作_第6张图片
级联添加
Hibernate框架数据库操作_第7张图片
级联删除
Hibernate框架数据库操作_第8张图片
级联修改

inverse属性

(1) 因为Hibernate中双向维护外键,因此级联操作时会重复操作外键,影响效率
(2) 解决方式:让其中一方不维护外键(让“一”的一方放弃维护外键)
(3)具体实现:


Hibernate框架数据库操作_第9张图片
使用inverse属性

多对多


Hibernate框架数据库操作_第10张图片
多对多
Hibernate框架数据库操作_第11张图片
多对多建表

Hibernate框架数据库操作_第12张图片
多对多
Hibernate框架数据库操作_第13张图片
Role配置
Hibernate框架数据库操作_第14张图片
User配置

多对多添加:

添加配置
Hibernate框架数据库操作_第15张图片
添加代码

多对多删除(一般不进行这样的操作,可通过修改对三张表来维护关系)

删除配置
Hibernate框架数据库操作_第16张图片
删除代码

维护第三张表

Hibernate框架数据库操作_第17张图片
维护第三张表
Hibernate框架数据库操作_第18张图片
添加角色
Hibernate框架数据库操作_第19张图片
删除角色

Hibernate 多种查询方式

Hibernate框架数据库操作_第20张图片
Hibernate多种查询方式

对象导航查询

Hibernate框架数据库操作_第21张图片
对象导航查询

oid 查询

Hibernate框架数据库操作_第22张图片
oid 查询

hql 查询

Hibernate框架数据库操作_第23张图片
hql 查询
Hibernate框架数据库操作_第24张图片
hql查询
Hibernate框架数据库操作_第25张图片
hql条件查询
Hibernate框架数据库操作_第26张图片
模糊查询
Hibernate框架数据库操作_第27张图片
排序查询
Hibernate框架数据库操作_第28张图片
分页查询

投影查询:(查询部分字段的查询成为投影查询)

Hibernate框架数据库操作_第29张图片
投影查询
Hibernate框架数据库操作_第30张图片
投影查询

聚集函数查询


Hibernate框架数据库操作_第31张图片
聚集函数查询
Hibernate框架数据库操作_第32张图片
聚集函数查询

QBC 查询

Hibernate框架数据库操作_第33张图片
QBC查询所有
Hibernate框架数据库操作_第34张图片
QBC 条件查询
Hibernate框架数据库操作_第35张图片
条件api
Hibernate框架数据库操作_第36张图片
QBC排序查询
Hibernate框架数据库操作_第37张图片
QBC分页查询
Hibernate框架数据库操作_第38张图片
QBC统计查询
Hibernate框架数据库操作_第39张图片
离线查询
内链接查询:查询出两张表关联的数据,未关联的数据无法查出
Hibernate框架数据库操作_第40张图片
内链接查询
左外链接(显示左边表的全部数据,右边表的关联数据)
Hibernate框架数据库操作_第41张图片
左外链接
右外链接(显示右边表的全部数据,左边表的关联数据)
Hibernate框架数据库操作_第42张图片
右外链接
hql 多表查询
Hibernate框架数据库操作_第43张图片
多表查询类型
Hibernate框架数据库操作_第44张图片
内连接查询
Hibernate框架数据库操作_第45张图片
迫切内连接查询
Hibernate框架数据库操作_第46张图片
左外连接
Hibernate框架数据库操作_第47张图片
左外连接查询
Hibernate框架数据库操作_第48张图片
左外迫切连接

查询策略

Hibernate框架数据库操作_第49张图片
查询策略

延迟查询分类两类:

  • 类级别延迟: 根据id查询返回实体对象,调用load方法不会马上发送语句

  • 关联级别延迟 : 查询关联数据时进行延迟(Hibernate 默认已做延迟处理)

Hibernate框架数据库操作_第50张图片
延迟策略
Hibernate框架数据库操作_第51张图片
及其懒惰
批量抓取( 查询出客户后又需要查询每个客户的联系人,通过配置 batch-size 可已提高查询效率,减少查询此时 )
Hibernate框架数据库操作_第52张图片
批量抓取优化查询次数

你可能感兴趣的:(Hibernate框架数据库操作)