62 lines
4.9 KiB
Markdown
62 lines
4.9 KiB
Markdown
# 精尽 Hibernate 学习指南
|
||
|
||
可能对于头发比较茂盛的胖友来说,可能是没学习过 Hibernate 。一旦提到 Hibernate 时,就深恶痛绝,鄙视其不够灵活,且性能过差。但是呢,实际是:
|
||
|
||
- 1、Hibernate 和 MyBatis 不会存在太大的性能差异。往往出现性能问题是,使用者错误的使用。
|
||
- 2、国外大多数使用 Hibernate 为主,国内大多数使用 MyBatis 为主。
|
||
|
||
感兴趣的胖友,可以看看如下三篇文章:
|
||
|
||
- [《国内程序员的十大疑问之一:为什么老外不愿意用MyBatis?》](https://www.jianshu.com/p/654f387cd865)
|
||
- [《为什么感觉国内比较流行的 mybatis 在国外好像没人用的样子?》](https://www.v2ex.com/t/518087)
|
||
- [《MyBatis和Hibernate相比,优势在哪里?》](https://www.zhihu.com/question/21104468)
|
||
|
||
当然了,既然 MyBatis 是国内比较重度使用,所以 Hibernate 可以作为选择性学习。亲,请不要挑战“国情”。
|
||
|
||
抛开以上的问题不说,可能很多胖友是搞不清楚 JPA、Spring Data JPA、Hibernate 三者的关系的。😈 可以来看看 [《JPA规范与ORM框架之间的关系是怎样的呢?》](https://www.cnblogs.com/xiaoheike/p/5150553.html) 。嘿嘿,艿艿有时候喜欢拿这个问题来“坑”候选人。不过哈,答对只会加分,答错也不会扣分,纯粹判断这个人是否在这块的知识体系是否清晰。
|
||
|
||
# 视频
|
||
|
||
- [《Hibernate 视频教程全集》](https://www.bilibili.com/video/av59574656/?pikaqiu) 一共 60P ,15 小时。
|
||
|
||
> **推荐~记得 b 站【收藏 + 点赞 + 投币】素质三连噢**。
|
||
>
|
||
> 本视频分成 A/B/C 三部分。
|
||
>
|
||
> - 【必选】A 部分(Hibernate 篇) P01-P25
|
||
>
|
||
> Hibernate配置文件编写,Hibernate动态SQL,Hibernate缓存机制,Hibernate-Spring整合,Hibernate逆向工程,Hibernate高级内容(Hibernate源码解析,Hibernate单/多插件运行机制,Hibernate四大对象工作原理,自定义TypeHandler、Hibernate存储过程&游标处理等)。 视频中会在重要的地方对比Hibernate操作MySQL以及Oracle之间的差异性。
|
||
>
|
||
> - 【可选】B 部分(JPA 篇) P26-P49
|
||
>
|
||
> Hibernate-Plus是一款非常强大的Hibernate增强工具包,只做增强不做改变.在不用编写任何SQL语句的情况下即可以极其方便的实现单一、批量、分页等操作。本套教程基于Hibernate-Plus新2.3版本。
|
||
>
|
||
> - 【必选】C 部分(Spring Data 篇) P50-P60
|
||
>
|
||
> 虽然是讲 Spring Data ,但是内容是以 Spring Data JPA 为主。当然实际上,Spring Data 是一个体系,也有 Spring Data MongoDB 等等其他实现。
|
||
|
||
- 传智播客 [《Hibernate 从入门到精通》](https://www.bilibili.com/video/av46992190) 一共有 50P ,12 小时。
|
||
|
||
- 千锋教育 [《快速入门Hibernate5.0》](https://www.bilibili.com/video/av45818582) 一共有 32P ,7 小时。
|
||
|
||
上述的视频,是艿艿翻了下目前大家看的比较多的视频,利益无关哈。
|
||
|
||
# 书籍
|
||
|
||
[《Hibernate 书单整理》](http://www.iocoder.cn/Books/Hibernate-books-recommended)
|
||
|
||
相对来说,没有什么特别合适的书。当年艿艿买的是孙卫琴的《精通Hibernate(第2版)》,但是奈何,实在太厚,并且工作中使用的是 MyBatis 。所以呢,就没有去看。
|
||
|
||
而入门的时候,自己看的是马士兵的 Hiberante 。
|
||
|
||
# 文章
|
||
|
||
- [《芋道 Spring Boot 数据库连接池入门》](http://www.iocoder.cn/Spring-Boot/datasource-pool/?vip) 对应 [lab-19](https://github.com/YunaiV/SpringBoot-Labs/tree/master/lab-19)
|
||
- [《芋道 Spring Boot JPA 入门》](http://www.iocoder.cn/Spring-Boot/JPA/?vip) 对应 [lab-13-spring-data-jpa](https://github.com/YunaiV/SpringBoot-Labs/tree/master/lab-13-spring-data-jpa)
|
||
- [《芋道 Spring Boot 多数据源(读写分离)入门》](http://www.iocoder.cn/Spring-Boot/dynamic-datasource/?vip) 对应 [lab-17](https://github.com/YunaiV/SpringBoot-Labs/tree/master/lab-17)
|
||
- [《芋道 Spring Boot 分库分表入门》](http://www.iocoder.cn/Spring-Boot/sharding-datasource/?vip) 对应 [lab-18](https://github.com/YunaiV/SpringBoot-Labs/tree/master/lab-18)
|
||
- [《芋道 Spring Boot 数据库版本管理入门》](http://www.iocoder.cn/Spring-Boot/database-version-control/?vip) 对应 [lab-20](https://github.com/YunaiV/SpringBoot-Labs/tree/master/lab-20)
|
||
- [《芋道 Spring Boot 数据表结构文档》](http://www.iocoder.cn/Spring-Boot/DB-Doc-screw/?vip) 对应 [lab-70-db-doc](https://github.com/YunaiV/SpringBoot-Labs/tree/master/lab-70-db-doc)
|
||
- [《性能测试 —— MySQL 基准测试》](http://www.iocoder.cn/Performance-Testing/MySQL-benchmark/?github)
|
||
- [《一起来学 SpringBoot 2.x | 第六篇:整合 SpringDataJPA》](http://www.iocoder.cn/Spring-Boot/battcn/v2-orm-jpa/?svip&vip)
|
||
- [《Spring Data JPA 从入门到进阶系列教程》](http://www.iocoder.cn/Spring-Data-JPA/good-collection/?svip&vip) |