iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >深入浅析Java中的Hibernate事务管理
  • 397
分享到

深入浅析Java中的Hibernate事务管理

javahibernate事务管理 2023-05-31 17:05:04 397人浏览 八月长安
摘要

深入浅析Java中的Hibernate事务管理?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。环境与版本hibernate 版本:Hibernate 4.2.2 (下载后的文

深入浅析Java中的Hibernate事务管理?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

环境与版本

hibernate 版本:Hibernate 4.2.2 (下载后的文件名为hibernate-release-4.2.2.Final.zip,解压目录hibernate-release-4.2.2.Final)

数据库oracle 10g

导入lib\required 中的所有jar

理论说明

SessionFactory负责创建Session,SessionFactory是线程安全的,多个并发线程可以同时访问一个SessionFactory 并从中获取Session实例

Session作为贯穿Hibernate的持久化管理器核心,提供了众多的持久化的方法,如save(), update ,delete ,find(Hibernate 3中已经取消了此方法)等,通过这些方法我们可以透明的完成对象的增删改查(CRUD-- create read update delete),这里所谓的透明是指,Session在读取,创建和删除影射的实体对象的实例时,这一系列的操作将被转换为对数据库表中数据的增加,修改,查询和删除操作。

Session有以下的特点

  1)不是线程安全的,应该避免多个线程共享同一个Session实例

  2)Session实例是轻量级的,所谓轻量级:是指他的创建和删除不需要消耗太多资源

  3)Session对象内部有一个缓存,被称为Hibernate第一缓存,他存放被当前工作单元中加载的对象,每个Session实例都有自己的缓存。

Hibernate Session缓存被称为Hibernate的第一级缓存。SessionFactory的外置缓存称为Hibernate的二级缓存。这两个缓存都位于持久层,它们存放的都是数据库数据的拷贝。SessionFactory的内置缓存 存放元数据和预定义sql, SessionFactory的内置缓存是只读缓存。

Hibernate Session缓存的三大作用:

  1)减少数据库的访问频率,提高访问性能。

  2)保证缓存中的对象与数据库同步,位于缓存中的对象称为持久化对象。

  3)当持久化对象之间存在关联时,Session 保证不出现对象图的死

Session 如何判断持久化对象的状态的改变呢?

Session 加载对象后会为对象值类型的属性复制一份快照。当Session 清理缓存时,比较当前对象和它的快照就可以知道那些属性发生了变化。

Session 什么时候清理缓存?

  1)commit() 方法被调用时

  2)查询时会清理缓存,保证查询结果能反映对象的最新状态。

  3)显示的调用session 的 flush方法。

session 清理缓存的特例:

当对象使用 native 生成器 时 会立刻清理缓存向数据库中插入记录。

实例代码

测试的代码目录如下:

深入浅析Java中的Hibernate事务管理

hibernate.cfg.xml

<&#63;xml version="1.0"&#63;> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "Http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration>  <session-factory>  <property name="show_sql">true</property>  <property name="hibernate.connection.driver_class">   oracle.jdbc.driver.OracleDriver  </property>  <property name="hibernate.connection.url">   jdbc:oracle:thin:@XX.26.158.43:1521:orcl  </property>  <property name="hibernate.connection.username"></property>  <property name="hibernate.connection.passWord"></property>  <property name="dialect">org.hibernate.dialect.OracleDialect</property>    <mapping resource="com/oscar999/trans/hibernate/Product.hbm.xml"/>  </session-factory> </hibernate-configuration> 

--结束END--

本文标题: 深入浅析Java中的Hibernate事务管理

本文链接: https://www.lsjlt.com/news/227254.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 深入浅析Java中的Hibernate事务管理
    深入浅析Java中的Hibernate事务管理?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。环境与版本hibernate 版本:Hibernate 4.2.2 (下载后的文...
    99+
    2023-05-31
    java hibernate 事务管理
  • 深入浅析Java中的Spring事务管理
    深入浅析Java中的Spring事务管理?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。环境与版本本文出来之前的一篇文章中的hibernate的相关lib 外Java事务管理之H...
    99+
    2023-05-31
    java spring ava
  • 深入浅析Hibernate中的配置文件
    今天就跟大家聊聊有关深入浅析Hibernate中的配置文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。首先我们看一下hibernate的主配置文件<!DOCTYPE hibe...
    99+
    2023-05-31
    hibernate te
  • 深入浅析Java中 JVM的原理
    这篇文章将为大家详细讲解有关深入浅析Java中 JVM的原理,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真...
    99+
    2023-05-31
    java jvm ava
  • 深入浅析Java中的 FilterInputStream
    这期内容当中小编将会给大家带来有关深入浅析Java中的 FilterInputStream,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。FilterInputStream 介绍FilterInputStr...
    99+
    2023-05-31
    java filterinputstream npu
  • 深入浅析Java 中的LockSupport
    这期内容当中小编将会给大家带来有关深入浅析Java 中的LockSupport,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。LockSupport介绍LockSupport是用来创建锁和其他同步类的基本线...
    99+
    2023-05-31
    java pp locksupport
  • 深入浅析Java 中的CharArrayReader
    深入浅析Java 中的CharArrayReader?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。CharArrayReader 介绍CharArrayRead...
    99+
    2023-05-31
    java chararrayreader ava
  • 深入浅析java中反射的原理
    深入浅析java中反射的原理?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.Class类任何一个类都是Class的实例对象,这个实例对象有三种表示方式//第一种表示方式---...
    99+
    2023-05-31
    java 反射 ava
  • 深入浅析JAVA中封装的原理
    本篇文章为大家展示了深入浅析JAVA中封装的原理,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。第一节 什么是JAVA中的封装面向对象的三大特性:封装、继承、多态。概念:将类的某些信息隐藏在类的内部,...
    99+
    2023-05-31
    java 封装 ava
  • 深入浅析Java中的Object类
    今天就跟大家聊聊有关深入浅析Java中的Object类,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java作为一个庞大的知识体系,涉及到的知识点繁多,本文将从Java中最基本的类j...
    99+
    2023-05-31
    java object ava
  • 深入浅析Java中线程池的原理
    这篇文章将为大家详细讲解有关深入浅析Java中线程池的原理,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。ThreadPoolExecutor简介ThreadPoolExecutor是线程池类...
    99+
    2023-05-31
    java ava 线程池
  • 深入浅析Java中输出HelloWorld的原理
    今天就跟大家聊聊有关深入浅析Java中输出HelloWorld的原理,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。我们初学java的第一个程序是"hello world&q...
    99+
    2023-05-31
    java helloworld ava
  • 深入浅析java 中volatile与lock的原理
    深入浅析java 中volatile与lock的原理?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。java 中volatile和lock原理分析volatile和lock是...
    99+
    2023-05-31
    java volatile lock
  • 深入浅析Java中的 concurrency锁
    本篇文章给大家分享的是有关深入浅析Java中的 concurrency锁,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。根据锁的添加到Java中的时间,Java中的锁,可以分为&...
    99+
    2023-05-31
    java concurrency ava
  • 深入浅析Java中的 List类
    本篇文章给大家分享的是有关深入浅析Java中的 List类,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。List:元素是有序的(怎么存的就怎么取出来,顺序不会乱),元素可以重复...
    99+
    2023-05-31
    java list ava
  • 深入浅析Java中的String类
    这期内容当中小编将会给大家带来有关深入浅析Java中的String类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。引题在Java语言的所有数据类型中,String类型是比较特殊的一种类型,同时也是面试的时...
    99+
    2023-05-31
    java string ava
  • 深入浅析Java中的链表
    本篇文章为大家展示了深入浅析Java中的链表,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。单链表:insertFirst:在表头插入一个新的链接点,时间复杂度为O(1)deleteFirst:删除表...
    99+
    2023-05-31
    java ava 链表
  • 深入浅析Java中的Properties类
    今天就跟大家聊聊有关深入浅析Java中的Properties类,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java中Properties类的操作   ...
    99+
    2023-05-31
    java properties ava
  • 深入浅析Java中的数组
    深入浅析Java中的数组?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。数组的用处是什么呢?——当你需要将30个数进行大小排列的时候,用数组这样的数据结构存储是个很好的选择,...
    99+
    2023-05-31
    java ava 数组
  • 深入浅析java中堆排序的原理
    本篇文章为大家展示了深入浅析java中堆排序的原理,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。从堆排序的简介到堆排序的算法实现等如下:1. 简介  堆排序是建立在堆这种数据结构基础上的选择排序,是...
    99+
    2023-05-31
    java 堆排序 ava
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作