问题标签 [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.
hibernate - 通过注释保持休眠会话不过期?-- 懒惰初始化角色集合失败
我有一个休眠 DAO,它在尝试访问作为包/集合的返回对象的成员时抛出“无法延迟初始化角色集合”异常。
我了解引发异常的问题的范围。Hibernate 返回我的对象,对于任何集合,返回代理对象。在我的调用者中,当我去访问那些代理对象时,因为休眠会话已经过期,所以抛出了这个异常。
我想知道的是,如何使用注释来防止会话过期?是否可以?
例如,如果我的调用方法是:
我将如何使用注释来防止这种异常?我知道一种解决方案是通过回调扩展休眠会话,在伪代码中可能类似于:
但这在我所有需要访问集合的函数中似乎相当重复。有没有办法简单地在上面打一个@Transactional注释并完成它?如:
感谢您帮助向我解释这一点。
hibernate - @Transactional Spring Junit 测试不回滚
我尝试为我的 dao 层设置一个 Junit 测试用例。但是,我不希望测试数据实际保存到数据库中。
所以我认为我应该在每次测试后进行事务处理并回滚。这给我留下了以下数据源设置:
待测dao类设置如下:
实际的持久化工作确实工作得很好。但是,从未进行预期的回滚:
TransactionalTextExecutionListener 定义如下:
我正在使用自动装配的成员来访问我的 dao 方法:
TL;博士
JUnit 测试用例会保留测试数据,即使它表明已完成回滚。
java - 在也使用 aop:after 建议的方法上使用 spring 的 @Transactional
我想看看是否已经有类似的问题,但找不到,就在这里。
我们有一个遗留代码,其中单个 BO 使用反射对许多 DAO 进行方法调用。为了简单起见,我修改了代码。
问题是,要求发生了变化,因此当在 EndpointData1DAO 上调用 insertData() 时,也必须调用 EndpointData2DAO 的 insertData。
我可以简单地将 EndpointData2DAO 添加为 EndpointData1DAO 的成员,但这严重违反了 SRP 并使其变得丑陋。
所以我写了一个注释@ExecuteAfter(clazz=EndpointData2DAO.class, method="insertData"),它获取EndpointData2DAO的一个实例并调用insertData(),在它注释的类的方法被执行之后,通过使用aop:after ,所以给定
1 2 将在调用 machoBO.handleEverthing("Data1"); 时打印出来
现在我的问题是,EndpointData1DAO 和 EndpointData2DAO 的 insertData() 会在同一个物理事务中吗?换句话说,EndpointData2DAO 的 insertData() 中的运行时异常会回滚 EndpointData1DAO 的 insertData() 插入的数据吗?
多谢提前~!!
java - @Transactional 在回滚时抛出“事务未成功启动”
我已将以下服务方法注释为事务性:
但是,如果在
激活客户(客户,布尔值,布尔值)
方法,我得到以下错误:
这是我的 application-context.xml 的摘录:
我真的不知道为什么会发生这种情况 - 如果你能帮助我,非常感谢!
hibernate - 实体不持久 - Spring + Hibernate + JPA
我正在使用 Spring + Hibernate + JPA,但我遇到了无法让我的实体持久保存到数据库的情况。我已经设置了一个使用@Transactional 注释的服务类。它使用包含注入的 EntityManager 的 DAO。当我在服务对象上调用该函数时,我看到 DAO 正在执行的读取的一堆选择,但由于我的 DAO 发出的合并和删除,没有更新/删除。我的设置肯定有问题,但我看不到。
持久性.xml
配置文件
AccountService.java
UserDAOImpl.java
AccountActivationController.java
spring-mvc - Liferay 交易指南
我正在从 Liferay 论坛复制 - 两周内没有得到答复。 http://www.liferay.com/community/forums/-/message_boards/message/9384663
我正在寻找文档/博客如何进行 Liferay 交易。
Liferay 6.0.6 PostgreSQL
我有一个 jax-ws Web 服务的钩子。我只使用 Liferay 服务。
例如插入文档并标记它
我需要设置交易。
我的课堂注释
@Transactional 是生命线之一
方法仅用
WS 工作得很好,但没有事务 - 创建文档并且在 NoSuchEntryException 文档保留在 Liferay 之后。
基于以下论坛主题尝试: http ://www.liferay.com/community/forums/-/message_boards/message/9019161
我没有在我的挂钩弹簧配置中做任何事情。
我试图改变隔离等没有成功。
请问有攻略吗?
非常感谢
tfs - Team Foundation Server 的备份计划向导中的事务备份间隔是什么意思?
我正在为 Team Foundation Server 设置备份计划。我下载了适用于 TFS 的 Power Tools,并且正在使用该包中包含的备份计划向导。我现在正处于应该决定如何安排备份的步骤,但我不知道为我的设置选择什么。
我明白一切的意思,除了事务备份间隔。
我将不胜感激有关良好日程安排的建议。如果可能的话,我想要实现的是能够恢复并仍然回顾几个版本。我想要的最小备份是最新版本。
补充一点可能很重要,我必须提前选择“备份保留天数”并将其设置为 30。
unit-testing - Spring Framework - 单元测试设计
我写信是为了尝试发起一些关于 Spring 单元测试,特别是事务单元测试的讨论。
我们目前在各种类中有大约 441 个测试,注释如下:
我们的每个测试类都有自己的测试上下文。
我们面临一个问题,当我们运行单独的测试类或单独的包时,测试运行良好。
但是,当我们想通过使用 maven 或类似的东西(例如 Hudson 集成)来扩展它以运行我们的所有测试(当前 > 400)时。
我们到达一个点,然后开始遇到 Java GC Limit exceeded 错误。
现在我觉得这取决于我们的测试计划设计,而不是我们需要提高任何内存限制或关闭警告。
任何人都可以分享他们的经验以及他们解决类似问题的方式吗?
艾格西
hibernate - 嵌套@Transactional
是否可以在 spring 中嵌套 @Transactional 注释方法?考虑这样的事情:
如果我在 b() 中回滚并在 a() 中回滚,在这种情况下会发生什么?
spring - 在@Transactional Junit 测试中使用来自域对象的双向关联
我设置了@Transactional JUnit 测试,我想将一些测试数据保存到数据库中,并测试关联是否正确。但是,在测试关联时,它们总是评估为 null,即使它在非事务测试中确实有效。
我使用 @Before 注释保留了两个对象:
在测试中访问这两个对象时,我得到了正确的实例:
检查 和 之间的关联时t
,o
我得到了正确的参考,因为我明确定义了该关联:
但是当反过来检查时,对象o
没有正确更新:
关联在域对象中定义为
在One
:
在Two
:
当我没有以@Transactional 运行测试时,它运行良好。
编辑 保存测试中的实体而不是 @Before 方法,没有任何区别。