若何操纵Hibernate来管理事件[Java编程]
本文“若何操纵Hibernate来管理事件[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在数据库利用程序中最基本的操作是CRUD(成立/读取/更新/删除),这4个操作构成了数据库利用程序的基石.在单机时代,一个数据库只由一个利用程序利用,这样CRUD操作并不会带来什么负面影响,但当进入网络时代后,这一切都发生了改变.由于网络数据库程序普通是由多个客户端同时操作一个数据库,因此,传统的CRUD操作将变得不再安全.因此,这个问题将引出本文的中央内容:事件.通过事件可以使传统的CRUD操作适应网络数据库利用.
本文分为三个部份.第一部份谈论了Hibernate若何管理事件和会话.第二部份描写了Hibernate用于管理事件和会话的核心API.在第三部份将举一个若何利用会话和事件的例子,并谈论了ThreadLocal变量.
Hibernate中的会话和事件
所谓会话,就是一个客户端从登录服务器开始,到登出服务器为止,在这期间关于客户端和服务器之间的全部活动.一个会话中可包含一个或多个事件,每一个事件是一原子操作,这个原子操作中可以包含多个操作,但这些操作是一个整体,要末都成功,要末都失利.在谈论Hibernate的会话和事件之前,让我们先来理解一下事件在底层是若何工作的.在Java中的操作数据库普通是和JDBC直接打交道,而JDBC则是直接通过Socket和数据库打交道.我们所说的底层实际上就是指JDBC和数据库层.
首先,让我们来看看数据库事件.数据库的操作由很多CRUD操作调集构成.而每一个调集就是数据库的一个事件.一个事件由begin transaction开始,最后以commit或rollback完毕,这两个事件完毕语保证了这一组CRUD操作要末都成功履行,要末回到履行前的状况.换句话说,这一组CRUD操作只要有一条语句履行失利,整个组都将回滚.这么做是为了保证数据的完好性.
假如事件中只有一个操作,那么事件能否提交,只依靠于这个操作的成功或失利.如一条INSERT语句,只有在这条语句成功履行后,数据才被真正写到数据库中.
目前让我们来看看事件中包含多条CRUD语句的情形,如包含一条UPDATE语句和二条DELETE语句.在这种情形下,不管这三条语句哪一条履行失利,整个事件都将回滚.
在利用事件时为了不产生负面影响,常常要对事件举行划分,行将一个大的事件公道划分成一些小的事件.这样假如某一个事件回滚的话,就不用回滚全部操作了.至于将大事件划分成多少个小的事件,这就要按照具体的情形而定.
以上是“若何操纵Hibernate来管理事件[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |