问题标签 [transactional]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1830 浏览

spring - 在 Scala 中使用 Spring @Transactional

我们有一个混合的 Java 和 Scala 项目,它使用 Spring 事务管理。我们使用 Spring 方面来编织带有 @Transactional 注释方法的文件。

问题是,Scala 类没有与 Spring 事务方面结合在一起。如何配置 Spring 以处理 Scala 中的事务?

0 投票
2 回答
4303 浏览

hibernate - Hibernate SQLQuery 绕过休眠会话缓存

我正在“事务化”一些广泛的数据库操作,我遇到了这个问题,如果我通过 hibernate 运行 sql 查询但不使用 MQL 方法,数据库的视图看起来不正确。具体来说,代码在大多数情况下以更合适的方式使用休眠,但有些地方有人决定只执行 sql。我不喜欢他们这样做,但在这一点上“就是这样”。

我找到了一个似乎可以解释它的解释,但所有示例实际上都是在代码中获取和管理事务。我们在整个类上使用@TransactionAttribute 注释来更改此代码,并且发现了很多发生这种行为的地方,但我并不完全相信该解释适用于简单地包装在注释中的代码——我假设任何使用休眠管理器的东西都将依赖于会话中的对象缓存。

如果我用不正确的术语等来指代休眠中的概念,请提前道歉。

0 投票
1 回答
583 浏览

jakarta-ee - 接缝中的 @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) 有什么等价物吗?

我需要@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)在非 EJB 环境中使用,我们如何@Transactional在 Seam 中获得相同的使用?

是否有任何值与 REQUIRES_NEW 相同?

或者是否有其他注释?

0 投票
1 回答
4018 浏览

java - Apache Transaction:事务性写入文件 - 如何使用 resourceId

如果有人对文件实施事务性写入,请帮助我。
相关主题在前面的线程(事务性写入)中讨论过。

用例如下:
如果写入日志文件失败,则应回滚相应的数据库事务。

因此,文件的写入应该以事务方式执行。

我选择了 Apache Commons Transaction库。
并且有问题,这不会让我走得更远,因为没有找到合适的文档或示例。

我创建了 FileResourceManager 的实例:

FileResourceManager frm = new FileResourceManager("c:\cur", "c:\cur", true, logger);

正如我从这个Apache Commons Transaction 教程中了解到的,我应该执行以下步骤:

  1. 开始交易:
    frm.start();

  2. 获取它的交易ID:
    transactionId = frm.generatedUniqueTxId();

  3. call 方法,这是必需的,例如带有 transactionId 和 resourceId 的 writeResource:
    frm.writeResource(transactionId, resourceId);

这里是模棱两可的:
a)我怎样才能连接resourceId到真实的资源,我应该事务性地写?
b)我现在将以事务方式编写的文件如何处理resourceId

谢谢你的建议。

0 投票
2 回答
723 浏览

spring - 使用 @Transactional、Spring 2.5 和 cglib 部署时出现 AbstractMethodError

希望您能对此有所帮助。我正在使用 Spring@Transactional注释来标记事务性方法,并且我有必要的<tx:annotation-driven transaction-manager="txManager"/>. 我的构建中包含 Spring 2.5.6 和 cglib 2.1_3。

在部署(到 Websphere 7 运行时)时,我看到 bean 创建异常,其根本原因是:

我认为这意味着我们正在调用 的generateClass(...)实例上的方法,该实例AbstractClassGenerator没有实现该方法。由于所有这些东西似乎都是在 Spring 中透明设置的,我不确定从这里到哪里来解决问题……有什么想法吗?

0 投票
1 回答
1165 浏览

sql - 同一会话/事务下的 Groovy SQL + Gorm

请通过下面的简单场景,我找不到更好的方式来以文本形式提出问题:

两个域对象和一个事务服务:

0 投票
3 回答
1103 浏览

grails - 在 Grails 中使用命令对象进行更新

我读到服务用于跨多个域类的更新。但是,我有命令类,我想知道将进行事务更新的逻辑放入命令类是否有明显的缺点(或破坏 Grails 范式)。就像是:

在控制器中

0 投票
2 回答
7428 浏览

spring - Spring @Transactional - javax.persistence.TransactionRequiredException

在以下架构中

Controller -> Service -> DAO 我正在尝试进行服务操作@Transactional

在我的 UserService.fooFunction() 我打电话

在 dao.update(e) 最后有

调用flush()会抛出一个persistenceException:

我对我做错了什么的想法很少,任何帮助将不胜感激:)

您可以在下面找到我的配置块:

aop部分:

不存在事务注释。部署我的 spring 应用程序时,可以看到

0 投票
1 回答
865 浏览

hibernate - LazyInitializationException 由于在使用注释的模块化 Spring 应用程序中的 Hibernate 3 的“父”应用程序上下文中没有定义会话

我对 Hibernate3 和 Spring3 都很陌生,我遇到了一个与初始化休眠对象的惰性引用有关的问题。

我有一个完全包含的道和服务。域对象是使用 hbm2java 和逆向工程文件创建的。我遵循了一些在我的服务对象上使用注释 (@Transactional) 时发现的最佳实践。(本指南对我非常有帮助http://carinae.net/2009/11/layered-architecture-with-hibernate-and-spring-3/

我遇到的问题是我的 service.jar 中有以下 spring 配置,用于注释处理和事务管理:

我的 hibernate.cfg.xml 只是我的数据源详细信息和域对象的注释映射的列表。

我正在使用服务层和 dao 层。

和一个道层

此代码集合被打包为 maven 模块,并作为依赖项包含在另一个 spring 项目中,该项目是我正在开发的调度和工作流模块。相关 applicationContext.xml 信息

还有一个基本的 Workflow.java:

在 LOG.info 语句期间,我得到(并且我理解为什么会得到)一个 LazyInitializationException。事务由包含的服务 maven 依赖项中的 spring-hibernate 上下文管理,在此上下文中不可用。我不明白将事务管理包含到这一层(及更高层)以防止 LazyInitializationException 的正确方法。我试着简单地添加

到业务层的应用程序上下文,它抱怨它看不到服务依赖项中定义的事务管理器。但是,如果我确实将 @Transactional 添加到 Workflow 步进器的 .execute() 中,它会“继承”依赖项的配置。

我错过了什么?

0 投票
3 回答
13536 浏览

spring - Spring事务上下文不持久化数据

我知道我的问题是一个常见问题,但是我在这里检查了很多问题,检查了 Spring 文档,我真的不知道我做错了什么。我的问题:我有一个使用 JPA 的 Spring WebFlow 项目(实现:OpenJPA + MySQL 数据库)。我使用 Spring ORM 将 EntityManager(通过 @PersistenceContext 注释)注入我的简单 RegisterDAO。我已经为使用 MySQL 配置了 GlassFishs(我正在使用)连接池,并且一切正常 - 我可以使用我的数据库,但是当我持久化某些东西时 - 没有任何反应(数据不会持久化到数据库)。我知道问题在于我使用的事务上下文。我阅读了 Spring Transaction Management 的文档并按照本文档中的配置步骤进行操作。这是我的 applicationContext.xml:

如您所见,我将 RegisterDAO 注入到我的 RegisterFormModel 中,其中包含用于验证注册表单数据并最终将用户添加到数据库的业务逻辑。验证工作正常,当我尝试添加新用户时会出现问题。这是代码:

注册道:

我也尝试过使用@Transactional 注释。我像这样配置了spring applicationContext.xml:

并使用 @Transactional 注释注释我的 addUser() 方法,如下所示:

甚至用这个注释注释整个类:

但在这两种情况下,问题都是一样的——数据不存储在数据库中。我的 AOP 代理有什么问题吗,因为我是这方面的新手(就像在整个春天 :))?

编辑:在我的 persistence.xml 中,我使用的是transaction-type="JTA“所以我认为我应该<bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager" />在我的 applicationContext.xml 中使用 - 对吗?