Tag: 事务

如何在Hibernate 4.3.4.Final中配置和获取会话?

我最近将我的Hibernate版本升级到4.3.4.Final。 基于Hibernate的Contextual Sessions配置,这个新版本不再基于ThreadLocal。 如果我到目前为止所做的是正确的,我是否需要做任何事情来提高效率? 如果不正确我该怎么办? 我没有线索。 请注意 ,文档中提到:Hibernate提供了三种当前会话跟踪方法。 基于“线程”的方法不适用于生产用途; 它仅适用于原型设计和教程,例如本教程。 的hibernate.cfg.xml com.mysql.jdbc.Driver jdbc:mysql://localhost/myDB root org.hibernate.dialect.MySQLDialect thread org.hibernate.cache.NoCacheProvider true 5 20 300 50 3000 <!– update–> … 当前配置和代码 基于答案吹响和这部分文档 mu当前配置如下: public class HibernateUtil { private static SessionFactory sessionFactory = buildSessionFactory(); private static SessionFactory buildSessionFactory() { try { Configuration configuration = new Configuration(); return configuration.configure() .buildSessionFactory( new […]

Java Connection.close是否会回滚?

Java Connection.close是否会回滚到finally块? 我知道.Net SqlConnection.close可以做到。 有了这个,我可以在没有捕获的情况下制作try / finally块… 例: try { conn.setAutoCommit(false); ResultSet rs = executeQuery(conn, …); …. executeNonQuery(conn, …); …. conn.commit(); } finally { conn.close(); }

使用Terracotta作为持久性解决方案

使用Terracotta作为持久性解决方案(替换数据库)是不是一个好主意? 我特别想知道数据完整性问题和对事务系统的支持。

如何在Java EE环境中管理数据库和文件系统的事务?

我将文件的属性(大小,更新时间……)存储在数据库中。 所以问题是如何管理数据库和文件的事务。 在Java EE环境中,JTA只能管理数据库事务。 如果更新数据库成功但文件操作失败,我应该为此编写文件回滚方法吗? 此外,EJB容器中的文件操作违反了EJB规范。 你怎么看?

事务回滚和Web服务

给出从会话bean调用两个Web服务方法的示例,如果在对两个方法的调用之间抛出exception,该怎么办? 在不调用Web服务的情况下,事务将回滚并且不会造成任何损害。 但是,Web服务不会回滚。 当然,即使使用单一的Web服务也存在问题。 虽然这是一个通用问题,但我对与EJB会话bean有关的解决方案感兴趣。 一个简单而定制的答案是为Web服务为每个“真实function”方法添加一个特殊的“回滚方法”。 我要求的是一些标准化的方法。

您是否需要数据库事务来读取数据?

当我尝试从数据库中读取数据时,至少使用 ((Session)em.getDelegate()).createCriteria() 抛出一个例外,表示交易不存在。 当我添加注释时: @Transactional( value = SomeClass.TRANSACTIONAL_MANAGER, propagation = Propagation.SUPPORTS, readOnly = true ) 它工作正常。 但是,由于读取将每秒发生数百万次访问和读取数据,我想确保我们的环境不会被不必要地堵塞。 如果没有,创建只读Propagation.Supports事务的成本是多少? 没有事务,我可以不与Spring一起创建一个Hibernate Criteria Query吗?