Hibernate框架数据库操作

2017-04-20  本文已影响53人  Playbob

表与表之间的关系

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

使用一张表即可达到效果

一对多

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

一对多

创建实体类

客户类 联系人类

配置一对多映射

one-to-many many-to-one 级联添加 级联删除 级联修改

inverse属性

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


使用inverse属性

多对多


多对多
多对多建表
多对多 Role配置 User配置

多对多添加:

添加配置 添加代码

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

删除配置 删除代码

维护第三张表

维护第三张表 添加角色 删除角色

Hibernate 多种查询方式

Hibernate多种查询方式

对象导航查询

对象导航查询

oid 查询

oid 查询

hql 查询

hql 查询 hql查询 hql条件查询 模糊查询 排序查询 分页查询

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

投影查询 投影查询

聚集函数查询


聚集函数查询 聚集函数查询

QBC 查询

QBC查询所有 QBC 条件查询 条件api QBC排序查询 QBC分页查询 QBC统计查询 离线查询
内链接查询:查询出两张表关联的数据,未关联的数据无法查出
内链接查询
左外链接(显示左边表的全部数据,右边表的关联数据)
左外链接
右外链接(显示右边表的全部数据,左边表的关联数据)
右外链接
hql 多表查询
多表查询类型 内连接查询 迫切内连接查询 左外连接 左外连接查询 左外迫切连接

查询策略

查询策略

延迟查询分类两类:

延迟策略 及其懒惰
批量抓取( 查询出客户后又需要查询每个客户的联系人,通过配置 batch-size 可已提高查询效率,减少查询此时 )
批量抓取优化查询次数
上一篇 下一篇

猜你喜欢

热点阅读