问题标签 [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 回答
12812 浏览

java - Spring @Transactional 方法中没有事务开始

我在使用 Spring (3.0.5)、Hibernate (3.6.0) 和 Wicket (1.4.14) 开发应用程序时遇到了奇怪的问题。问题是:我无法将任何对象保存或修改到数据库中。“不能”是指对象中的所有更改或对 EntityManager.persist(foo) 的调用都被简单地、默默地忽略。选择工作。

示例案例很简单 - 在一些检票口页面上,我尝试将对象保存到数据库中,如下所示

这里是comicDAO

我打开了日志记录,这是日志的相关部分(Hibernate 和 Spring 都设置为 TRACE)。我在我认为在这里很重要的行中添加了 **。

当然没有对象被保存到数据库中。

最后一个文件 - 我的 applicationCONtext.xml

我不知道可能是什么问题以及如何解决它。我不想在我的代码中管理事务——这就是 Spring 的用途。

0 投票
3 回答
8535 浏览

java - Hibernate、Spring、@Transactional - 用 try/catch 包围?

我正在使用 Spring 3 和 Hibernate 3.6 开发 Web 应用程序。@Transactional我对注释和代码结构有一些疑问。

-> 当我使用@Transactional(使用 Spring 的事务管理)时,@Transactional在调用它们时是否必须用 try/catch 包围 -annotated 方法?

例如,当我得到一个加载、更改和返回一个对象的方法时,我从另一个类调用它:我必须用 try/catch 包围调用吗?也许出了点问题,没有返回对象,数据库连接失败..我不知道。

直到现在,我认为@Transactional关心所有可能发生的异常,并在发生错误时回滚该事务中的每个操作。但如果发生这种情况,我必须以某种方式通知用户。当我在 try-block 中调用 transactional-method 并回滚时,catch 块被激活?我可以告诉用户“确实出了问题”。否则可能不会通知用户?

或者检查是否有返回的对象(if/else)就足够了,那么我不需要try/catch?我是新手,我想听听其他人如何构建他们的代码。谢谢 :-)

0 投票
3 回答
8360 浏览

spring - Spring3 的 @Transactional @Scheduled 未提交给数据库?

这是我第一次尝试 Spring3 的 @Scheduled ,但发现我无法提交到 DB。这是我的代码:

我认为它应该可以工作,我可以看到它每小时启动并从 DB 加载 xxx ,但数据没有提交给 DB。

tx:annotation-drivenspring 的 xml 中有:

有人可以告诉我我在这里错过了什么吗?

我有一个“肮脏”的解决方案:

它在这里工作得很好,但它太多余了,使代码更难阅读。我想知道为什么在前面的代码片段中没有注入(和打开)TransactionManager ?

非常感谢 !

0 投票
3 回答
3264 浏览

jpa - How to implement "delete all" for a Spring Roo Entity?

I'm trying to delete all database entries for a Spring Roo entity. When I look at *_Roo_Entity.aj it seems as if there is no "delete all" method. I tried to implement it myself (Licences is the name of the Roo entity. Don't mind the naming. It was reverese engineered from a database and may be changed later):

#xA;

It compiles just fine but when I call Licences.deleteAll() I get the following exception:

#xA;

Adding @Transactional doesn't make a difference.

What am I missing here?

Is this approach completely wrong and I need to implement it like this:

#xA;

This works, but is JPA smart enough to translate this into a delete from licences query or will it create n queries?

0 投票
1 回答
828 浏览

email - 以 x-msg 为前缀的 Magento 交易电子邮件链接

目标 发送一封 Magento 交易电子邮件,其中包含返回网站的链接,网址末尾有一个变量。

过程 我将一个变量传递到 Magento 的交易电子邮件中,称为链接,并在电子邮件模板中使用以下代码显示它。

问题 链接在 p 标签中正确显示,例如

http://www.mysite.com/?param=1

但是,当我将鼠标移到标签上时,我会得到以下链接,该链接会阻止电子邮件中的链接工作:

x-msg://12/“http://www.mysite.com/?param=1”</p>

笔记

  • 我已经在 Mac Mail 和 Hotmail 中尝试过这个并得到相同的结果。
  • 我传递到电子邮件中的 url 需要是动态的,不能硬编码。

提前感谢您的任何帮助。

0 投票
1 回答
3475 浏览

hibernate - 如何在 Hibernate 中执行原子操作?


,我有一个休眠实体,它有一组另一个实体作为其字段。像这样的东西:

我应该以至少一个 ADMIN 用户始终存在于系统中的方式保存表。这可以通过简单的方式完成,如下所示:

但真正的问题发生在我们有并发操作时。如何以原子方式执行所有操作?
谢谢,
HM

0 投票
1 回答
173 浏览

php - 客户端-服务器方法中的持久事务

在我的应用程序(客户端-服务器)中,我需要编辑一些行(来自数据库),只要它们被编辑,就不需要任何人也可以编辑。这当然是通过交易完成的。问题是在客户端环境中,事务是在服务器端管理的,所以编辑行的客户端不能直接访问事务。(我在这种情况下使用 PHP,但认为其他技术也采用相同的方法)。所以我需要保持事务打开(以保持行锁定以进行编辑),直到客户端完成编辑。在 PHP 中,持久连接无济于事,因为它们可能会从与上述客户端位于同一主机的其他客户端断开。你对我的场景有什么想法吗?

谢谢你。

0 投票
1 回答
344 浏览

java - Hibernate 正在自动保存一个全新的实体(完整的调用堆栈)

我已经问过这个问题两次了,但是我是 stackoverflow 的新手,而且我似乎不知道在这里格式化我的示例代码的规则。现在我决定给出完整的电话堆栈,我希望我能解释一下情况,因为一切都太奇怪了,我找不到形容词来形容它。首先,我将为您提供与该问题有关的类的来源。我的实际问题在页面末尾。大段代码是为了以防万一,因为我不知道我的问题可能是什么解释。这是一个从我的 flex 应用程序获取调用的服务外观。

对我的问题很重要的方法是findDuplicateEmails方法。

profileService在以下类中实现:

同样重要的方法是findDuplicateEmails

profileManager的实现是以下类:

同样重要的方法是方法findDuplicateEmails

现在,在这个简短的背景之后,这是我的问题:

我正在使用带有 Spring 的 HibernateTemplate 的 Hibernate。我发现在findDuplicateEmails方法中,一些来自 flex 应用程序的全新实体会自动保存。这很奇怪,在调试过程中我发现即使我更改了ProfileManager 中的findDuplicateEmails方法,它看起来像:

实体电子邮件会自动保存。我还发现,如果实体的标识符不是“email”,而是其他东西,比如“newEmail”或“email1”,或者其他东西,那么没有问题,当且仅当我成功时,实体才会持久化执着的。这个问题只存在于这个类中,最后,这个问题只出现在电子邮件中。我的意思是,如果我有Phone phone = new Phone();实体电话,则仅在我希望的时候才会保留。

flex 应用程序首先检查用户输入的电子邮件是否唯一,然后在一些用户交互后调用该方法updateProfile(),如果输入的数据有效。

0 投票
4 回答
87879 浏览

java - @Transactional 方法调用另一个没有@Transactional 注释的方法?

我在 Service 类中看到了一个标记为 的方法@Transactional,但它也调用了同一个类中未标记为 的一些其他方法@Transactional

这是否意味着对单独方法的调用导致应用程序打开与数据库的单独连接或暂停父事务等?

没有任何注释的方法被另一个带有@Transactional注释的方法调用的默认行为是什么?

0 投票
1 回答
1228 浏览

spring - Spring , 事务 , Hibernate 过滤器

我在 Spring 中使用声明性事务。我有一个用“事务”注释的服务层。该服务层调用 DAO。我需要在所有 dao 方法中启用休眠过滤器。我不想每次都显式调用 session.enablefilter。那么有没有办法使用spring transaction aop等,以便在创建休眠会话时调用拦截器?

我的服务层:

}

我的道层

感谢你的帮助!!