zoukankan      html  css  js  c++  java
  • HIbernate总结

      What's Hibernate?  

        Hibernate是数据持久化工具,是开放式ORM(Object/Relational Mapping)框架,通过JavaBean去操作数据库表中的数据,是Java应用与数据库之间的桥梁,与JDBC相比,减少了代码量,提高了持久话的开发速度,降低了维护成本,同时Hibernate支持许多面向对象特性,可移植性高,但不适合以数据为中心大量使用存储过程.

        Hibernate需要以下Jar包

      

    名称  描述
    altlr-2.7.6 语义分析器
    commons-collections-3.1.jar 集合类封装
    dom4j XML RW
    javassist-3.9.0.GA.jar 分析,编辑创建java字节码类库
    jta   Java日志
    slf4j-api 日志输出

            Object get(Class claszz,Serializable id)和Object load(Class clazz,Serilizable id)区别

              当使用Session的get()时,如果加载的数据不存在则返回NULL,而load()若加载方法不存在,抛出异常.

        Hibernate作为持久话框架由着自己的生命周期,通过Session来管理得到3中状态:

          1.瞬时状态

            通过new创建对象时,对象并没有初始化

          2.持久状态

            对象与Session关联,拥有数据库标示,通过Session的查询接口或者调用save()或saveOrUpdate()发生关联

          3.游离状态

            脱离与Session关系,无法保证对象包含的数据与数据库一致,所以Session提供了merge()和update()进行重新关联转换为持久状态

               

            Hibernate缓存

        在Hibernate中,为缓存处理提供了3类缓存方式

          1.一级缓存:作为Session缓存为必须存在的缓存,持久话类的每个实例都具有唯一的OID

              可以通过evict(Object o)从缓存中清除制定的持久话对象        

          2.二级缓存:SessionFactory分为内置缓存和外置缓存,内置缓存由Hibernate自带的只读缓存,而外置缓存作为一个可配置的缓存插件,由SessionFactory负责管理,是可选的缓存

              

          3.查询缓存则依赖二级缓存

          在HQL中所支持的连接的脸型

  • 相关阅读:
    HDU 5492 Find a path
    codeforce gym 100548H The Problem to Make You Happy
    Topcoder SRM 144 Lottery
    codeforce 165E Compatible Numbers
    codeforce gym 100307H Hack Protection
    区间DP总结
    UESTC 1321 柱爷的恋爱 (区间DP)
    HDU 4283 You Are the One (区间DP)
    HDU 2476 String painter (区间DP)
    UESTC 426 Food Delivery (区间DP)
  • 原文地址:https://www.cnblogs.com/EraserHead/p/6550493.html
Copyright © 2011-2022 走看看