zoukankan      html  css  js  c++  java
  • 【FrameWork】Hibernate

    Hibernate是一个开放源代码的对象关系映射(ORM)框架。它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

    Hibernate的API一共有6个,分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration。

    通过这些接口,可以对持久化对象进行存取、事务控制。

    缓存机制:一级缓存(session级别)、二级缓存(sessionFactory级别)

    一级缓存:即session级别的缓存,亦即事务级别的缓存策略,这种缓存策略是Hibernate内置的,不可被拆卸的。 

    二级缓存:即SessionFactory的外置缓存,其同时也称为进程级缓存或集群范围内的缓存。hibernate的二级缓存是需要第三方支持的,hibernate默认的二级缓存插件为ehcache,由于二级缓存是进程级的可能出现多线程并发问题,需要设置缓存的并发策略。

    如何触发一级缓存?

    一级缓存是由Session提供的,所以它只存在于Session的生命周期中,当调用save(),update(),saveorupdate()等方法或者调用查询接口list,filter,iterate时,如果session缓存中还不存在相应的对象,Hibernate会把该对象加入到一级缓存中,当Session关闭的时候该Session所管理的一级缓存也会立即被清除。
    当程序调用get(),load(),iterate()时会从session缓存中查询内容

    Is life always this hard , or is it just when you are a kid ? Always like this .
  • 相关阅读:
    c# 改变FileUpload 上传文件大小
    使用ActiveX读取客户端mac地址
    javascript小技巧
    【2012百度之星/资格赛】H:用户请求中的品牌 [后缀数组]
    POJ1012 约瑟夫环问题[双向循环链表+打表技巧]
    北大ACM题分类
    ACM大量习题题库
    POJ1423 计算出n的阶乘的位数大数问题[Stirling公式]
    ACM训练计划(下)
    POJ2080 角度问题[cmath函数]
  • 原文地址:https://www.cnblogs.com/alela/p/10007638.html
Copyright © 2011-2022 走看看