从事务jpa hibernate spring中的视图获取更新数据

时间:2015-07-05 05:43:46

标签: java spring hibernate jpa transactions

我的应用程序中有一个新要求:我需要从视图中获取一些数据并将其发布到第三方Web服务。

不幸的是我不能在这里共享任何代码,因为它是专有的,我没有权利从我工作的组织交换任何代码。

这是SOA,当我在系统中进行支付时,会在加载我的监听器类的服务启动观察者模式,然后在发布到第三方之前,使用不同数量的DAO将数据存储在DB中类,它启动事务并将数据存储到数据库。从这些表中我的视图已更新。

我想hibernate会保持数据缓存,并且在整个服务执行未完成之前不会刷新。当我登陆我在相同的事务/服务上下文(spring managed)中调用的服务时,视图数据不会更新并且在那段时间内被锁定,我无法获取数据并且卡在那里。如果我手动提交事务,它会导致数据不一致,因为其他DAO也称为提交,在这种情况下视图没有更新,我也可以从中获取数据,因为我们的应用程序使用AOP,但它导致异常,因为我手动提交了我的事务(我认为不允许使用架构)。

我对所有这一切都很陌生,我确实尝试过flush,Transactional注释以及新事务的传播,但没有。如果你能给我一个提示做什么,那将会有所帮助。

可以应用JPA或Hibernate中的任何解决方案,因为我可以使用其中任何一种。

0 个答案:

没有答案