zoukankan      html  css  js  c++  java
  • 【hibernate进阶】hibernate基本原理

            hibernate作为SSH的持久层,是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。使用Hibernate可以增加开发速度,并且程序员可以花更多的时间来关注业务逻辑。本篇文章主要从hibernate是什么,为什么要用hibernate,以及hibernate的优缺点来介绍hibernate的基本原理。


    hibernate是什么

            Hibernate是一个对象关系映射(ORM)框架,hibernate也是一个持久层框架,除了hibernate,还有Oracle Toplink,JDO,Apache OJB,EJB,JPA。


    为什么要用hibernate

    使用hibernate可以使我们采用对象化的思维操作关系型数据库

    1、Hibernate对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码

    2、Hibernate是一个基于jdbc的主流持久化框架,是一个优秀的orm实现,它很大程度的简化了dao层编码工作

    3、Hibernate使用java的反射机制,而不是字节码增强程序类实现透明性
    4、Hibernate的性能非常好,因为它是一个轻量级框架,映射的灵活性很出色。它支持很多关系型数据库,从一对一到多对多的各种复杂关系


    hibernate的优缺点

    优点:
    1、提高生产力。使用简介的hql语句,如插入数据:原来的做法是:insert into 表名称 value(值1,值2,值3,……),而现在的做法是:save(对象)。
    2、使开发更加对象化(阻抗不匹配)
    3、可移植性。支持各种数据库,如果换个数据库只要在配置文件中变换配置就可以了,不用改变hibernate代码
    4、没有侵入性,支持透明持久化

    缺点:

    1、使用数据库特性的语句,将很难调优
    2、对大批量数据更新存在问题
    3、系统中存在大量的统计查询功能

  • 相关阅读:
    UVALive 5983 MAGRID DP
    2015暑假训练(UVALive 5983
    poj 1426 Find The Multiple (BFS)
    poj 3126 Prime Path (BFS)
    poj 2251 Dungeon Master 3维bfs(水水)
    poj 3278 catch that cow BFS(基础水)
    poj3083 Children of the Candy Corn BFS&&DFS
    BZOJ1878: [SDOI2009]HH的项链 (离线查询+树状数组)
    洛谷P3178 [HAOI2015]树上操作(dfs序+线段树)
    洛谷P3065 [USACO12DEC]第一!First!(Trie树+拓扑排序)
  • 原文地址:https://www.cnblogs.com/chenxiaochan/p/7237580.html
Copyright © 2011-2022 走看看