问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java 事务异常transaction error,need to rollback.duplicate会缓存吗

发布网友 发布时间:2022-05-01 13:52

我来回答

1个回答

热心网友 时间:2023-10-16 09:36

1.事务就是由几个步骤组成的业务操作,要么全部成功,要么全部失败。
2.JDBC中就是把事务设置为手动提交,等完成多个操作后,进行一次性提交。
3.要在Hibernate中使用事务,可以配置Hibernate事务为JDBCTransaction或者JTATransaction,这两种事务的生命周期不一样,可以在hibernate.cfg.xml中指定使用的是哪一种事务。以下配置为使用JDBC事务。注:如果不进行配置,Hibernate也会默认使用JDBC事务。

<session-factory>
……
<property name="hibernate.transaction.factory_class">
org.hibernate.transaction.JDBCTransactionFactory
</property>
……
</session-factory>
Hibernate 使用JDBC transaction处理方式如下所示:
Transaction tx = null;
try {
tx = sess.beginTransaction();

// do some work
...

tx.commit();
}
catch (RuntimeException e) {
if (tx != null) tx.rollback();
throw e; // or display error message
}
finally {
sess.close();
}
JTA(java Transaction API)是事务服务的JavaEE解决方案。本质上,它是描述事务接口的JavaEE模型的一部分。
JTA具有的3个接口:UserTransaction接口、TransactionManager接口和Transaction接口,这些接口共享公共的事务操作。UserTransaction能够执行事务划分和基本的事务操作,TransactionManager能够执行上下文管理。
在一个具有多个数据库的系统中,可能一个程序将会调用几个数据库中的数据,需要一种分布事务,或者准备用JTA来管理Session的长事务,那么就需要使用JTATransaction。
在hibernate.cfg.xml中配置JTA事务管理:
<session-factory>
……
<property name="hibernate.transaction.factory_class">
org.hibernate.transaction.JTATransactionFactory
</property>
……
</session-factory>
下面是一个实际应用的JTA示例:
// BMT(bean管理事务) idiom with getCurrentSession()
try {
UserTransaction tx = (UserTransaction)new InitialContext()
.lookup("java:comp/UserTransaction");

tx.begin();

// Do some work on Session bound to transaction
factory.getCurrentSession().load(...);
factory.getCurrentSession().persist(...);

tx.commit();
}
catch (RuntimeException e) {
tx.rollback();
throw e; // or display error message
}
4.声明式事务处理通过AOP的实现把事物管理代码作为方面封装来横向插入到业务代码中,使得事务管理代码和业务代码解藕。

热心网友 时间:2023-10-16 09:36

1.事务就是由几个步骤组成的业务操作,要么全部成功,要么全部失败。
2.JDBC中就是把事务设置为手动提交,等完成多个操作后,进行一次性提交。
3.要在Hibernate中使用事务,可以配置Hibernate事务为JDBCTransaction或者JTATransaction,这两种事务的生命周期不一样,可以在hibernate.cfg.xml中指定使用的是哪一种事务。以下配置为使用JDBC事务。注:如果不进行配置,Hibernate也会默认使用JDBC事务。

<session-factory>
……
<property name="hibernate.transaction.factory_class">
org.hibernate.transaction.JDBCTransactionFactory
</property>
……
</session-factory>
Hibernate 使用JDBC transaction处理方式如下所示:
Transaction tx = null;
try {
tx = sess.beginTransaction();

// do some work
...

tx.commit();
}
catch (RuntimeException e) {
if (tx != null) tx.rollback();
throw e; // or display error message
}
finally {
sess.close();
}
JTA(java Transaction API)是事务服务的JavaEE解决方案。本质上,它是描述事务接口的JavaEE模型的一部分。
JTA具有的3个接口:UserTransaction接口、TransactionManager接口和Transaction接口,这些接口共享公共的事务操作。UserTransaction能够执行事务划分和基本的事务操作,TransactionManager能够执行上下文管理。
在一个具有多个数据库的系统中,可能一个程序将会调用几个数据库中的数据,需要一种分布事务,或者准备用JTA来管理Session的长事务,那么就需要使用JTATransaction。
在hibernate.cfg.xml中配置JTA事务管理:
<session-factory>
……
<property name="hibernate.transaction.factory_class">
org.hibernate.transaction.JTATransactionFactory
</property>
……
</session-factory>
下面是一个实际应用的JTA示例:
// BMT(bean管理事务) idiom with getCurrentSession()
try {
UserTransaction tx = (UserTransaction)new InitialContext()
.lookup("java:comp/UserTransaction");

tx.begin();

// Do some work on Session bound to transaction
factory.getCurrentSession().load(...);
factory.getCurrentSession().persist(...);

tx.commit();
}
catch (RuntimeException e) {
tx.rollback();
throw e; // or display error message
}
4.声明式事务处理通过AOP的实现把事物管理代码作为方面封装来横向插入到业务代码中,使得事务管理代码和业务代码解藕。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怎样打开oppor8315的移动磁盘,我想下点小说都不行 op手机r8315质量好不 酷狗音乐会员怎么开通划算?不同渠道价格对比 酷狗透视卡是什么意思 装甲输送车性能 M59履带式装甲人员输送车性能数据 车厘子和草莓是寒性水果吗-车厘子和草莓是凉性的吗 我想了解国寿鑫福临门年金保险 安卓手机如何把数据迁移到iPhone13上?最详细操作方法,小白都会 BIOS里的CSM是什么啊? java中事务不回滚! java 操作数据库如果没有设置conn.setAutoCommit(false),在 catch中conn.rollback()有用吗 java 事务不能回滚问题 java中jdbc多表操作如何事物回滚 java中一个方法增加两个表,怎么回滚 在Java中事物的提交和回滚是什么意思? 在项目中用mongodb数据库,怎样用java代码实现rollback()的操作 JAVA编程的回滚机制是什么样的,最好能举个实例,有人会吗? 请教:如何在java程序中实现数据操作的“回滚” java中的rollback()能省略吗 JAVA执行rollback无效 高德地图988元和688元有什么区别 高德联盟和地图商铺有什么区别 c加一个斜杠是什么货币符号 电脑屏幕突然就变黄了是什么问题呢? 杭州红房子人流态度好吗 请问是红房子医院吗?我有子宫腺肌症 宫颈湿疣,阴道炎【宫颈湿疣】 65岁妇女,活检CIN2,腰背酸胀,腿痛。 上海红房子医院子宫息肉1*2该如何治疗 关于“税收”的诗句有哪些? Java事物回滚,是不是没有框架就不能弄事物回滚? 与“税收”有关是诗句有哪些? 关于税收的诗歌 关于税收的古诗词 谁能帮我写一首关于税收的赞美诗歌? 有关税收的诗句!能用在开头的! 急求赞美国税的诗歌或散文 oppor15外屏碎了换一下多少钱啊。。有谁知道吗。。只是一个角碎了。 现代税收诗歌 表述古代税收苛刻的诗文 古代税收的诗 诗歌 税收·发展·民生 表达诗人关心国家兴亡的诗 句? 关于税收的对联,税务局对联 赞美税收人员的对联 唐代著名诗人杜荀鹤在《山中寡妇》中写道:“任是深山更深处,也应无计避征徭。”这句诗主要强调了税收的 找关于税收的七字对联 形容税收的成语有哪些? 帮我找个古诗词的赏析好不好?