java – 在Spring/Hibernate环境中手动管理数据库事务

我们有一个基于Spring的Web应用程序,它利用Hibernate将其实体加载/存储到底层数据库.

由于它是一个后端应用程序,我们不仅希望允许我们的UI,还允许第三方工具手动启动数据库事务.这就是呼叫者需要的原因

>调用StartTransaction方法,然后获取他们可以引用的ID
>通过引用此ID来完成所有与数据库相关的调用(例如创建,修改,删除),以明确哪些操作属于已启动的事务
>调用CommitTransaction方法向我们的后端发信号通知现在可以提交事务(或者在负面情况下将调用RollbackTransaction)

所以请记住,所有数据库处理都将通过Java持久性注释在内部完成,我们如何打开事务管理到我们的UI,其行为类似于第三方应用程序,它不能直接访问后端实体但处理数据传输只有对象?

最佳答案
我认为这可以做到,但实施/验证将是一种巨大的痛苦.您基本上需要一个事务管理器,它不受“每线程事务”定义的限制,但跨越同一客户端的多个调用.

JTA有状态会话bean可能是您想要查看的内容.

相关文章

这篇文章主要介绍了spring的事务传播属性REQUIRED_NESTED的原...
今天小编给大家分享的是一文解析spring中事务的传播机制,相...
这篇文章主要介绍了SpringCloudAlibaba和SpringCloud有什么区...
本篇文章和大家了解一下SpringCloud整合XXL-Job的几个步骤。...
本篇文章和大家了解一下Spring延迟初始化会遇到什么问题。有...
这篇文章主要介绍了怎么使用Spring提供的不同缓存注解实现缓...