0 0

hibernate应该何时调用transaction的commit方法将数据与数据库同步10

hibernate中,调用session的save、delete、update方法后只是缓存到session里,应该什么时候使用transection的commit方法与数据库数据同步?如果每次调用sava、delete等方法提交一次,好像违背了hibernate的初衷,性能不好。但在网站开发时,添加一个用户信息、更新、或删除时,这些操作是要及时与数据库同步的。我的问题就是应在什么时候把数据提交到数据库。
2012年1月06日 11:05

4个答案 按时间排序 按投票排序

0 0

采纳的答案

这就得根据你的业务需求来确定事务的边界,例如添加用户信息,添加完成以后就得commit,而不是继续操作等着更新或者其他操作以后才commit,
这和性能无关,得和你的业务逻辑来确定事务的边界

2012年1月06日 11:18
0 0

数据库操作是放在事务内进行.
先开启事务-->对数据进行删除,增加等操作。执行到这步数据是放在缓存里,数据未提交到数据库-->事务提交。这步执行后数据同步到数据库。如果出现异常应进行事务回滚。

2012年1月07日 11:01
0 0

session.flush();
trans.commit();
就可以发出sql,将数据插入到数据库

2012年1月06日 13:07
0 0

如果你没有集成spring,则需要自己确定事务,事务完成之后手动提交。如果你集成了spring,配置事务后,每次事务会自己提交,即不用手动commit,而且当抛出RuntimeException的时候事务会自己回滚。

2012年1月06日 11:33

相关推荐

    Consensus on Transaction Commit.pdf

    The Paxos Commit algorithm runs a Paxos consensus algorithm on the commit/abort decision of each participant to obtain a transaction commit protocol that uses 2F + 1 coordinators and makes progress ...

    Hibernate_Session_Transaction

    可以对hibernate的 Session 和 Transaction 有更深入的认识 希望对一些概念比较模糊的人 有帮助

    spring-hibernate-maven-transaction整合

    spring-hibernate-maven-transaction整合

    hibernate操作数据库笔记

    //该方法会立即加载/获取数据(只要调用该方法就会立即向数据库发出查询语句),该方法只在内部缓存查找数据,如果内部缓存中没有数据就直接去数据库查询,当数据库中没有要查询的数据时返回null (6).load(Class ...

    论文研究-移动数据库中数据复制同步处理策略的研究.pdf

    通过UTLRSP(Union Transaction-Level Result-Set Propagation,关联事务结果集)复制同步模型结合数据广播技术,并利用基于优先级的增量更新算法实现客户端与中心数据库服务器的数据同步处理。实验结果表明,与两级...

    Could not roll back Hibernate transaction.doc

    Could not roll back Hibernate transaction.doc

    Hibernate+Transaction+myeclipse6+事例+工程源码.rar

    介绍Hibernate+Transaction+myeclipse6+事例的应用参考工程源码.

    SQL Server数据库应P166 (2)COMMIT TRANSACTION标志一个成功的隐式事务或显式事务的结束.sql

    内容概述:SQL Server数据库相关内容,对应张磊著《SQL Server数据库应用技术项目化教程》中166页(2)COMMIT TRANSACTION标志一个成功的隐式事务或显式事务的结束所对应的源码。代码经个人运行后无误,如果下载后运行...

    Spring+hibernate+quartz 定时操作数据库

    在spring+hibernate的框架中定时操作数据库,主要是拿到sessionFactory,不会出现no session 和transaction no-bound等问题,由sessionFactory完成对数据的操作,有些包是没有用的,有兴趣的可以自己删除掉

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...

    C#中调用Transaction

    TransactionDemo

    HibernateSession , Transaction 研究

    NULL 博文链接:https://stewchicken.iteye.com/blog/938875

    Hibernate Web应用的开发步骤

    (2)将Hibernate所需的JAR包复制到WEB-INF/lib下。 (3)创建Hibernate的配置文件。 (4)利用Hibernate的第三方工具或Eclipse的有关插件从数据库中创建出相应的实体对象及其ORM映射文件。 (5)创建Hibernate的...

    Hibernate中的query 分页.doc

    这两种方法都可以取到一定范围内的数据,用来数据分页显示。那么两者区别,以及两者的效率如何? 答:1.scroll是用JDBC2.0的可滚动结果集实现;query.setMaxResults();query.setFirstResult()是数据库SQL语句实现。...

    Hibernate体系结构的概要图

    Session接口 Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的...

    数据库考试的复习资料

    2.在数据库设计中,将E-R模型转换成关系数据模型属于逻辑设计阶段,对数据库模式进行规范化处理,属于逻辑设计阶段,规划存储结构和存取方法属于物理设计阶段。 3.数据管理技术的发展经历了_人工管理_、__文件...

    hibernate4.3完整jar包

    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端...

    SqlServer数据库提示 “tempdb” 的日志已满 问题解决方案

    在网上Google了很久,试了些方法都不行;数据库所在磁盘还有很大的可用空间,试着下重药了。 直接把tempdb的数据文件和日志文件的大小改为3000M, 问题解决。 记录一下清空日志的命令: DUMP TRANSACTION dbname ...

    分布式理论系列 论文汇总

    A brief history of Consensus, 2PC and Transaction Commit:关于一致性,2PC,事务 提交方面的文章的历史性综述。 Time, Clocks, and the Ordering of Events in a Distributed System:发表于 1978 年, 理解...

Global site tag (gtag.js) - Google Analytics