在版本 6.0 中,Hibernate ORM 已经迁移到将 Java 11 作为其基线版本。它也从 Java Persistence(由 Java EE 规范定义)迁移到 Jakarta Persistence(由 Jakarta EE 规范定义)。我们将使用 jakarta.persistence 包,而不是 javax.persistence. 包,从 Hibernate 版本 6.0 开始。
请注意,Jakarta 提供了一个 转换器 工具,可以帮助你将项目从 Java Persistence 转换为 Jakarta Persistence。
以下文章已发布,旨在帮助你开始使用 Hibernate 和 JPA 进行一些非常常见的任务。
1. 入门
Hibernate, 系列
- Hibernate 实体生命周期
- Hibernate 实体生命周期事件和回调
- EntityManager getReference() vs find() API
- 检查 Hibernate 实体在会话之间的相等性
- Hibernate save()、update() 和 saveOrUpdate()
- Hibernate get() vs load() 方法
- Hibernate 合并和刷新实体
- 使用 Hibernate 插入对象
- 使用 Hibernate 删除实体
- Hibernate 注解与映射
3. 注解
- Hibernate/JPA 持久化注解
- 使用 @NaturalId 的 Hibernate 自然标识
- Hibernate @Immutable 实体
- Hibernate @NamedStoredProcedureQuery
4. 配置
- 配置内存数据库以单元测试 Hibernate
- Hibernate 中的延迟加载
- Hibernate JPA 级联类型
- 使用 Hibernate 初始化代理实体
- 模拟内存 JNDI 数据源
- 使用 Spring Boot 2 配置 Hibernate 5
5. 映射
6. SQL, HQL
7. 日志记录、缓存、连接池、验证
- Hibernate 一级缓存指南
- Hibernate 二级缓存指南
- Hibernate 4 EhCache 2 配置
- 将 Ehcache 3 配置为 Hibernate 6
- Hibernate 使用 c3p0 连接池
- 使用 Hibernate Validator 进行 Java Bean 验证
- 使用 Hibernate Validator CDI 引导 ValidationFactory
8. 错误
- Hibernate 错误:无法找到 persister
- [已解决] Initial SessionFactory 创建失败。org.hibernate.HibernateException: 命名查询中的错误
- [已解决] org.hibernate.ObjectNotFoundException: 不存在具有给定标识符的行
- [已解决] Bean 属性 ‘configurationClass’ 不可写或具有无效的 setter 方法
- [已解决] java.lang.NoClassDefFoundError: Lorg/hibernate/cache/CacheProvider
- [已解决] java.lang.NoClassDefFoundError: org/hibernate/engine/SessionFactoryImplementor
- [解决方法] NotYetImplementedException: 纯原生标量查询尚未支持
- [已解决] org.hibernate.exception.GenericJDBCException: 无法准备语句
- [已解决] org.hibernate.QueryException: 无法混合命名参数和位置参数
- [已解决] HsqlException: 数据异常: cast 的无效字符值
- [已解决] – UnexpectedTypeException- 未找到约束的验证器
9. 高级主题
- Hibernate count, min, max, sum, avg
- Hibernate 排序指南
- Hibernate 分页指南
- Hibernate 拦截器指南
- Hibernate 搜索指南
- 使用 Hibernate/JPA 进行批量处理