2013-03-14 20 views
0

我使用spring spring(2.5.6)和Hibernate core(3.3.2GA)的Spring MVC。作爲調用DB的請求處理應用程序(包括PL/SQL調用和正常的HQL調用)的一部分。hibernate和PL/SQL中的並行調用

問題(死鎖/唯一鍵約束違例)依賴於對錶進行修改,其中更新/刪除操作從休眠和PL/SQL中調用。它發生在系統承受最大負載時。你們中的任何一個能否提供你的意見來控制數據源的事務管理?

在Spring bean XML中使用下面的配置。

+2

你是如何調用PL/SQL,是在一個單獨的連接和/或交易?通過命名查詢調用 – Taylor 2013-03-14 15:07:32

+0

。像this.getSession()。getNamedQuery(「QueryName」); – user2170172 2013-03-14 16:34:30

+0

也像this.getSession()。createSQLQuery(「schema.package」); – user2170172 2013-03-14 16:37:38

回答

0

我想我得到了解決,但不知道這是否工作。如果我們將下面的屬性設置爲事務屬性,則Spring事務管理將處理死鎖事務。它不會發生。

PROPAGATION_REQUIRED,-DeadlockLoserDataAccessException PROPAGATION_REQUIRED