<!----><!---->
<!---->
トランザクション
:
transaction
事务处理
http://s2dao.seasar.org/zh-cn/s2dao.html#HowToRun
中有这样一句:
S2Dao
不做事
务
(transaction)
控制。有
关
事
务
(transaction)
控制的内容,
请
参
阅
事
务
的自
动
控制
一
节
。
http://s2container.seasar.org/2.3/ja/tx.html
中有这样一段:
トランザクションの自動制御
S2Tx
の機能を使って、
POJO(
普通の
Java
のクラス
)
に対して、
Aspect
でトランザクションの自動管理機能を組み込むことができます。
EJB
コンテナが提供するようなトランザクション管理機能を
POJO
に対して透明に組み込むことができるのです。組む込むことのできるトランザクション属性は次のとおりです。
这里面也提供了一个事务管理的例子程序,我在本地建了一下,跑了一下,测试结果如下:
DEBUG 2008-12-18 19:21:18,501
[main] トランザクションを開始しました
foo
DEBUG 2008-12-18 19:21:18,501 [main] トランザクションをコミットしました
|
感觉这个就是普通的
AOP
服务,横切进去,在真正执行的正常的代码的前后各自打印了一句话而已。
我也尝试将这个实现加到了前面的
s2DAO
的例子程序中,对于多条
SQL
语句的操作,测试结果却是每执行一条
SQL
语句,前后都有这两句。这完全不是我想要的事务管理的效果(整个一段操作,
N
条
SQL
语句被一个事务管理着)。
http://www.seasar.org/cn/index.html
我看到这样的表述:
S2Hibernate
通
过
S2Container
的
业务处
理
(transaction)
控制和
组
合来使用
Hibernate
为
目
的的
软
件
库
http://s2hibernate.seasar.org/ja/s2hibernate.html
我看到这样的表述:
- S2
の
JTA
や
ConnectionPool
と
Hibernate
が簡単に連動するようになります。
これまで
Hibernate
で開発するときの悩みの種だった
Session
管理を
S2Hibernate
が自動的に行ってくれるので、
開発者は
Session
のオープン・クローズ、
Transaction
処理から開放されます。
Session
は
JTA
のトランザクション中は維持され、トランザクションの終了時に自動的にクローズ
(flush
も
)
されます。
这句话的意思是说:对于使用
Hibernate
开发中令人烦恼的各种
session
的管理,在
S2Hibernate
中是自动处理了,所以开发者可以从
session
的
open
、
close
,还有事务处理中解放出来。
他的言下之意是说
S2Hibernate
中内部实现了事务处理?那它怎么对外界提供事务处理服务呢?
这个事务处理,到底是在
s2DAO
,还是在
Spring
的
AOP
中,还是在
S2Hibernate
实现的呢???
明天继续调查!
今天还下载了s2-dao-pager-examples-1.0.48.war例子,放到tomcat中,跑了下,分页效果体现出来了。
自己的理解:
传统意义中
JDBC
的
transaction
(出现异常进行回滚)和
Spring
的事务管理不太一样
可以通过在
spring
中配置事务,对
JDBC
中的
java
代码段(比如两条
insert
语句)提供
AOP
服务(事务管理,隐式地进行事务处理,以便实现对异常进行回滚操作)
20081219上午思路(分析昨天的调查结果):
s2DAO中确实不进行事务处理,从道理上讲也应该是这样,s2DAO中就应该做自己的主业:数据的增删改查,而事务处理(JDBC)、打log等等非它主业的事情,就应该教给其他部分来做,比如说让Spring的AOP来做。
昨天调查的seasar中的Spring处理,其实就是最普通的事务处理,在头尾各加一句,和JDBC中传统意义上的Transaction处理还是有区别的。
今天的调查方向应该是:Spring
的
AOP
和
S2Hibernate,看到底是哪个提供JDBC意义上的事务处理的。
分享到:
相关推荐
GZB2-混乱武林II 之 血战黄沙.w3x
在图像处理和数字水印领域,"图像最大混乱度"是一个关键的概念,它涉及到图像的熵、信息理论以及图像的不稳定性分析。这个概念对于理解图像的复杂性和隐藏信息的鲁棒性至关重要。本文将深入探讨这个主题,并通过提供...
【混乱军团修改器】是一款专为游戏《混乱军团》设计的辅助工具,旨在帮助玩家在游戏中进行各种自定义修改,以获得不同的游戏体验。在这款修改器中,玩家可以调整游戏内的参数,例如角色属性、技能效果、物品数量等,...
【标题】"2011混乱代码源码共享"揭示了一个独特且有趣的编程竞赛——2011年国际C语言混乱代码大赛。这个比赛旨在挑战程序员编写出最具创意、最难以理解,但仍然能正确运行的C语言代码。源代码的分享为学习者提供了一...
然而,在ListView中加载图片时,由于滚动过程中View的复用,经常会出现图片显示混乱的问题,这就是所谓的“图片错位”或者“图片混乱”现象。这个问题主要涉及到ListView的优化和图片加载策略。 首先,我们需要理解...
然而,这种结合往往会导致一些棘手的问题,特别是关于焦点和数据绑定的混乱。标题"ListView+EditText混乱问题"所提及的就是这样一个典型的问题:当用户在ListView中的一个EditText控件中输入文字后,如果ListView...
internacional C语言混乱代码大赛代码赏析 本文将分析1987年贝尔实验室的David Korn提交的获奖代码,代码展示了C语言中数组和指针的高级运算技巧。该代码可以帮助读者更好地理解C语言的基础知识,包括数组和指针的...
《C++混乱竞技场源代码》是一份专为C++编程爱好者和开发者提供的项目资源,主要涉及VC++和C++编程语言,以及项目开发实践。这个压缩包包含了一个名为“混乱竞技场”的程序源代码,可能是一个游戏或者模拟环境,通过...
标题中的“整理混乱数据数据仓库专家”提示我们,这篇内容可能涉及如何管理和清理复杂的数据,以及数据仓库在处理此类问题中的角色。数据仓库是企业级数据管理的核心,它用于存储、整合和分析大量业务数据,以支持...
【国际C语言混乱代码大赛】是一项独特而富有挑战性的编程竞赛,旨在展示C语言的灵活性、强大功能以及可能存在的边界和滥用情况。参赛者通过编写出极具创意但又极具迷惑性的代码来展示他们对C语言深入的理解。这些...
混乱C语言代码! 一共6个程序,所有的程序的目的都只有一个:打印出Helloworld! 看你能看懂几个! 注:前5个用C语言编译器即可,最后一个需要使用C++的编译器。 代码1到5在DJGPP下编译通过,代码6使用VC6的cl....
历年来C混乱代码大赛代码大全,历年来C混乱代码大赛代码大全,历年来C混乱代码大赛代码大全,历年来C混乱代码大赛代码大全,历年来C混乱代码大赛代码大全,历年来C混乱代码大赛代码大全,历年来C混乱代码大赛代码...
实现功能 1.点击item上的按钮,向后台发送多个请求 2.解析返回的数据 3.及时写入item中 4.解决列表中上展示文本的混乱
根据提供的文件信息,本文将重点围绕“国际C语言混乱代码大赛”进行展开,并结合与之相关的链接内容,探讨这一赛事的背景、特点及其对编程文化的影响。 ### 国际C语言混乱代码大赛简介 国际C语言混乱代码大赛...
android开发中的textview可以自动换行,但是对于显示纯英文文字来说很好用,如果夹杂了中文字符后,全角字符和半角字符混在一块儿,就会出现文字排版参差不齐,超级难看,这就需要重写textview来实现我们需要的显示...
【混乱C代码大赛获奖作品集】是一场独特的编程竞赛,旨在展示C语言中创新且具有挑战性的编程技巧。参赛者们通过编写出看似混乱但实际上功能完备的代码来参赛,这些代码可能包含了各种复杂的编程概念、巧妙的算法以及...
运行工具:eclipse+ADK 自定义TextView解决排版混乱问题, 本示例并非本人所写,从网上找的,不能在eclipse上直接运行,我重新组织了下代码。非常不错的案例,当引用的时候也有些小缺陷,完善一下,挺实用的。
在某些情况下,当我们需要对`TextView`中的文本进行更精细的控制时,如自定义换行规则或者设置特殊的`SpannableString`,可能会遇到排版混乱的问题。本文将深入探讨如何解决`TextView`自动换行导致的排版问题,并...
【国际混乱C代码大赛】是一场独特而富有挑战性的编程竞赛,旨在展示C语言的极致使用,以及程序员的创新和技巧。参赛者们通过编写出令人惊叹的、看似混乱但实际上蕴含深意的C代码,来展示他们对语言特性的理解和掌握...