2013-05-05 76 views
0

我有一个在spring事务下运行的方法,它调用两个存储过程。休眠会话数据不能被存储过程加入

  1. 第一个存储过程成功执行,但数据还没有提交(因为交易)
  2. 现在,第二个存储过程尝试查询以前的数据是不可用的。

有人可以给我指示如何将未提交的数据共享到(第二个)存储过程。

注意:不能使用隔离未提交,因为我使用的是oracle数据库,它不支持相同的。

PS: - 当搜索时,我得到的答案要求我冲洗休眠会话。但没有为我工作。

+0

我没有看到hibernate会话与问题有什么关系。存储过程在数据库中执行。并且,鉴于所有事情都在一次交易中,我不明白为什么第二个SP无法看到第一个SP所做的修改。 – 2013-05-05 17:29:51

+0

如果您使用相同的会话执行第二个过程,它应该正常工作。如果可能的话分享你的代码以得到完美的答案。 – VKPRO 2013-05-05 17:31:41

回答

0

使用一个存储过程。如果你不能这么做,在第一个存储过程之后提交,因为第二个SP需要能够查询第一个结果,所以这就自动成为你的tx边界。