Hibernate基础
Hibernate框架
Hibernate是一个开放的对象关系映射框架(一种能实现ORM的框架),它对JDBC进行了非常轻量级的对象封装,使得java程序员可以随心所欲地使用面向对象的思维方式来操作关系数据库。它可以应用在任何使用JDBC的场景,可以在java客户端编程使用,也可以在Servlet/JSP的Web应用中使用。
Hibernate框架的优点
Hibernate具有以下优点:
1)Hibernate是JDBC的轻量级的对象封装。Hibernate是一个独立的对象持久层框架,可以使用在任何使用JDBC的场景。
2)Hibernate是一个和JDBC密切关联的框架。Hibernate的兼容性与JDBC驱动,都和数据库有一定的关系,但是和使用它的java程序以及App Server没有任何关系,也不存在兼容性问题
3)开源和免费的License。Hibernate框架具有开源和免费的License,方便需要时研究源代码,改写代码和定制功能
4)具有可扩展性,API开放。Hibernate具有可扩展性,当其功能不够使用时,开发人员可以自己编写代码,对功能进行扩展
Hibernate架构
使用Hibernate开发基于持久层的应用,就要熟悉它的接口。Hibernate的借口主要非为以下几类:
1)执行基本的CRUD和查询操作的接口。这些接口是应用程序的业务逻辑对Hibernate框架的主要依赖点,接口包括:Session、Transcation和Query。
2)执行Hibernate配置的接口。该接口包括对Hibernate框架本身的配置与需要被持久化的类的配置信息
3)回调接口。回调接口允许应用程序对一些事件的发生做出相应的操作。回调接口包括拦截器、生命周期和校验器等
4)扩展Hibernate映射机制的接口。这类接口是程序员根据实际情况自己编写的。包括UserType、CompositeUserType和IdentifierGenerator等接口
Hibernate核心接口
Hibernate核心接口一共有五个,分别为Session、SessionFactory、Transaction、Query和Configutation。
1)Session接口。Session接口负责执行被持久化对象的CRUD操作。Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession
2)SessionFactory接口。SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象,这里用到了工厂模式
3)Transaction接口。Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。
4)Query和Criteria接口。Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语句或SQL语句两种表达方式。
5)Configuration接口。Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动过程中,Configuration类的实例首先定位映射文档位置并读取配置,然后创建SessionFactory对象。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理