关于hibernte的工作原理,简单说一下个人浅见:
1.配置好hibernate的配置文件和与类对应的配置文件后,启动服务器
2.服务器通过实例化Configeration对象,读取hibernate.cfg.xml文件的配置内容,并根据相关的需求建好表或者和表建立好映射关系
3.通过实例化的Configeration对象就可以建立sessionFactory实例,进一步,通过sessionFactory实例可以创建session对象
4.得到session之后,便可以对数据库进行增删改查操作了,除了比较复杂的全文搜索外,简单的操作都可以通过hibernate封装好的session内置方法来实现
5.此外,还可以通过事物管理,表的关联来实现较为复杂的数据库设计
优点:hibernate相当于java类和数据库表之间沟通的桥梁,通过这座桥我们就可以做很多事情了
Hibernate 是一个O/R Mapping(Object Relational Mapping,简称ORM)框架
就是说,把操作数据库的过程交给hibernate了.
用户进行配置映射后,直接操作hibernate,对于数据库来说,这是透明的,hibernate底层要根据相关的数据库方言转换成对应的SQL
从另一方面来讲,hibernate管理JAVA类到数据库表的映射,程序员操作JAVA类即可进行数据库的操作.也就是说进行了"面向对象"的方式操作数据库了.
1.读取并解析配置文件。
2.读取并解析映射信息,创建sessionfactory
3.打开session
4.创建事物transaction
5.持久化操作
6.提交事务
7.关闭session
8.关闭sessionfactory
这个就是原理,不是流程。主要就是一个基于jdbc的主流持久化框架,一个优秀的orm实现,对jdbc访问数据库的代码做了封装,很大程度上监护了dao层的编码工作。
热门文章更多>>
标签更多>>
专题更多>>
最新文章更多>>
- 团队城市未满足要求:MSBuildTools12.0_x86_Path 存在
- 使用 MSBuild.exe 在发布模式下构建 C# 解决方案
- 当我发布 Web 应用程序时,AfterPublish 脚本不运行
- 构建时 T4 转换的产品仅在下一个构建中使用
- ASP.NET Core Application (.NET Framework) for Windows x64 only error in project.assets.json
- 新的 .csproj 格式 - 如何将整个目录指定为“链接文件"到子目录?
- 如何将条件编译符号(DefineConstants)传递给 msbuild
- MSBuild 支持 Visual Studio 2017 RTM 中的 T4 模板
- NuGet 包还原找不到包,没有源
- 使用 C# 6.0 功能运行 TFS 构建
veve全班上课花式打灰机冠军o