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 .
  • 相关阅读:
    LOJ 6089 小Y的背包计数问题 —— 前缀和优化DP
    洛谷 P1969 积木大赛 —— 水题
    洛谷 P1965 转圈游戏 —— 快速幂
    洛谷 P1970 花匠 —— DP
    洛谷 P1966 火柴排队 —— 思路
    51Nod 1450 闯关游戏 —— 期望DP
    洛谷 P2312 & bzoj 3751 解方程 —— 取模
    洛谷 P1351 联合权值 —— 树形DP
    NOIP2007 树网的核
    平面最近点对(加强版)
  • 原文地址:https://www.cnblogs.com/alela/p/10007638.html
Copyright © 2011-2022 走看看