Spring Data REST中的事务管理

时间:2016-05-13 23:23:17

标签: java spring-data-rest

使用Spring Data REST时是否有任何内置事务管理,或者必须从调用应用程序/服务手动维护/处理。

说,我有两个调用(第一个POST(用于创建)和PATCH(使用uri-lists更新/插入关联资源)),我希望将其视为事务。

由于 巴拉斯

2 个答案:

答案 0 :(得分:1)

在spring数据中,每个存储库操作都在事务中运行。甚至事件处理程序也没有在存储库事务中运行。当然,REST API上的不同操作确实在单独的事务中运行。

以下是关于此主题的一个有趣问题: Handle spring-data-rest application events within the transaction

如果您想在一个事务中创建和关联,那么使用当前实体映射实现此目的的唯一方法是创建一个自定义控制器来实现这一点。

另一种映射策略是将关联实体视为包含 - 因此关联实体没有导出的存储库,并且在父节点内维护。

答案 1 :(得分:0)

REST的关键是要有孤立的工作单元。如果您希望在调用之间保持交易开放,则可能需要调整您的RESTful策略。

查看:Transaction strategy for microservices