课程目录
已打包压缩:传智播客_Hibernate开发资料.zip 2.3GB
课程解决什么问题 这份资料面向的是需要在生产环境中稳定使用 Hibernate 做持久层开发的工程师。当前很多团队仍依赖 JDBC 拼 SQL、手工映射结果集,导致代码冗长、事务边界模糊、N+1 查询频发。课程的核心价值是把「对象-关系映射」的工程化套路讲清楚:如何用 `SessionFactory` 管理连接池、如何用 `Transaction` 包裹边…
这份资料面向的是需要在生产环境中稳定使用 Hibernate 做持久层开发的工程师。当前很多团队仍依赖 JDBC 拼 SQL、手工映射结果集,导致代码冗长、事务边界模糊、N+1 查询频发。课程的核心价值是把「对象-关系映射」的工程化套路讲清楚:如何用 `SessionFactory` 管理连接池、如何用 `Transaction` 包裹边界、如何用 `Query/Criteria` 替代手写 SQL、如何用 `@ManyToOne`/`@OneToMany` 声明关联而不是手动 JOIN。学完之后,开发者能够独立写出可复用、可测试、符合规范的第二层持久层代码,不再把业务逻辑和数据库细节耦合在一起。
建议先掌握 Java 基础语法、集合、IO 以及基础的 JDBC 操作;了解关系数据库建模(主键、外键、范式)之后直接进入会更顺畅。建议按以下顺序对照实践:
- **环境搭建与配置**:理解 `hibernate.cfg.xml` 中 `dialect`、`connection.provider_class`、`hbm2ddl.auto` 的工程含义,学会用 `SchemaExport` 或 IDE 插件生成 DDL,而不是手动跑 SQL 脚本。
- **实体映射基础**:掌握 `@Entity`、`@Table`、`@Id`、`@GeneratedValue`、基本类型的 `@Column` 配置;重点理解 `EnumType.STRING` 和 `@Temporal` 的正确用法,避免枚举和日期存储不一致导致的线上故障。
- **会话与事务管理**:深入理解 `Session` 的一级缓存机制、`Transaction` 的生命周期、`FlushMode` 对性能的影响;学会在 Web 场景中用 `OpenSessionInView` 解决懒加载问题,而不是在 Service 层之外随意调用 Session。
- **高级特性**:学习二级缓存配置、批量处理、乐观锁机制,这些在生产环境中直接关系到并发安全和系统吞吐量。
完成练习后,开发者能够独立搭建基于 Hibernate 的持久层工程:编写符合规范的实体类、实现单表增删改查、处理多表关联查询、配置缓存策略、处理并发更新冲突。具体来说,可以独立完成以下工作:
- 设计合理的数据库映射关系,避免循环依赖和内存溢出。
- 编写高效的 HQL 和 Criteria 查询,减少不必要的数据库交互。
- 配置合适的缓存策略,提升系统整体性能。
- 处理事务隔离级别和并发控制,保证数据一致性。
建议把资料当作「对照手册」而不是被动观看的视频资源——先看懂每一块的结构说明,再用本地 MySQL 或 PostgreSQL 复现:
1. 按模块逐一创建实体,跑 `SchemaExport` 验证 DDL 生成结果,对比实际数据库结构。
2. 针对每个查询场景手写 HQL 和 Criteria,观察生成的 SQL 语句,分析执行效率差异。
3. 用 JUnit 配合 `TestEntityManager` 进行隔离测试,确保事务回滚行为符合预期,而不是直接在主库验证。
4. 逐步增加复杂度,从单表到多表关联,从简单 CRUD 到复杂查询,每个阶段都要有明确的验收标准。
这份资料适合需要工程化落地、追求可复用代码结构的开发者,而不是只想快速上手框架的初学者。通过系统性的实践,可以将 Hibernate 从「会用的工具」变成「可控的基础设施」。
已打包压缩:传智播客_Hibernate开发资料.zip 2.3GB