我只是想知道如何最好地处理跨多个服务层的事务。服务层使用ORM来存储数据库并从中检索。是否应该在各个服务层中了解和处理事务?还是应该由另一层来处理?多服务层和数据库事务
例如:我有两个用户和客户端的服务层。我想:
1)创建并保存新的客户端
2)创建并保存新的用户
3)用户分配给客户端
所有在一个单一的交易。
一个简单的例子可能是这样的:
$userManagementService = new UserManagementService;
$newUserData = array(...);
$newUser = $userManagementService->create($newUserData);
$clientManagementService = new ClientManagementService;
$newClientData = array(...);
$newClient = $clientManagementService->create($newClientData);
$userManagementService->assignUserToClient($newUser, $newClient);
应该在哪里事务逻辑去?
困扰,有道理。感谢这个链接,在那里有一些很好的解释。 – 2009-11-05 13:57:28