我有控制器注释@Transactional
。比有几个服务处理请求。我需要的是根据这些服务中的处理逻辑将该事务拆分为某些子事务。
如果我也注释了其中一些服务@Transactional
,我认为它不会按预期工作。
如何注释服务类以创建子事务?
@RestController
@RequestMapping("/something")
@Transactional
public class SomeController {
@Autowired
private SomeService someService;
@PostMapping("/endpoint")
public void someEndpoint(@PathVariable final String id) {
// do some work with service
}
}
@Service
@Transactional(???)
public class SomeService {
// some sub-transactional logic...
}
答案 0 :(得分:1)
如果这些服务需要独立的交易,只需用
注释即可@Transactional(propagation = Propagation.REQUIRES_NEW)