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 .
  • 相关阅读:
    Perl如何安装新模块/包
    Perl入门(二)Perl的流程控制
    Perl入门(一)Perl的基本类型及运算符
    Struts2表单数据接收方式
    Struts2 自定义拦截器时Action无法接收到参数
    深入理解Java闭包概念
    Centos 7.2 Jenkins+Ansible+Gitlab 部署maven项目
    Centos 7.2 Jenkins+Ansible+Gitlab 基础配置
    CentOS 7.2 搭建Jenkins
    Linux系统上安装配置MAVEN
  • 原文地址:https://www.cnblogs.com/alela/p/10007638.html
Copyright © 2011-2022 走看看