hibernate

  任何一种技术都是为了解决某些现存的问题而存在的,hibernate自然也不例外。在hibernate之前,我们所认识的技术架构中,都有如下的一些问题:

              硬编码大量的sql(直接在类里写sql,实现数据逻辑):

                    1. 工作量大,团队在数据逻辑上浪费大量精力

                     2.一套数据库逻辑无法支持多套数据库(不同的数据库sql语句会有些不同,比如分页查询)

                     3.通过配置文件和多套数据逻辑支持多套数据库,但是结构复杂,代码量大

            性能 优化复杂:

                    1.数据库连接的生命周期管理:

                            希望解决每次连接都要重新创建连接,性能低下的问题;

                            导入数据库连接池

                     2.持久化对象的生命周期管理:

                          希望持久化对象有缓存,再次获取该对象时,如果数据没有改变就无需再次查询数据库,而是直接从缓存中拿出来,从而提高性能。但是目前没有解决方案。

        ORM(对象映射关系框架)可以解决上述问题,hibernate是一种比较流行的ORM框架。        

         通过ORM框架,我们无需自己写sql语句(有时可能需要写一些*ql)或是将sql语句写在配置文件中,而且可以直接支持多套数据库,ORM框架会根据不同数据库配置将*ql转换成相对应的sql语句。

         在性能优化方面,内置了数据库连接池(在连接池中放置了一种数量的连接,我们通过sessionFactory从连接池中获取连接,用完以后重新放回连接池中,如果连接池没有连接,就新建连接直到连接的上限,达到上限时,需要等待,直到其他用户释放连接)。同时,

提供对象池(也就是Session缓存):每个事务,创

建一个Session空间,该事务过程中,查询过的对象,都会有保留,再次取出时,如果数据没有改变,就无需再次查询数据库

          简单的说,hibernate可用于协调应用与关系数据库的交互,让开发人员解放出来专注于解决业务问题;解决传统的数据库程序设计上硬编码的问题;通过缓存、池等技术优化了数据库连接、持久化对象的生命周期的管理进行了性能优化。

          关于libernate这里就先说这么多吧,至于配置和细节问题,等整体的知识结构整理出来再补充咯~~~~~加油~~~~~~~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值