Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java(@Service或@DAO级别)中定义事务边界的位置,有什么建议吗_Java_Spring Transactions - Fatal编程技术网

在java(@Service或@DAO级别)中定义事务边界的位置,有什么建议吗

在java(@Service或@DAO级别)中定义事务边界的位置,有什么建议吗,java,spring-transactions,Java,Spring Transactions,在java(@Service或@DAO级别)中定义事务边界的位置,有什么建议吗 我们需要管理多个服务之间的事务。通常我建议在服务中使用事务,但这取决于。。。。 对于服务,您将能够在一个事务中创建一批操作 例如,启动事务。读取、修改多个实体、更新、删除任何内容。关闭事务。根据您的持久化技术,可能需要某种事务来持久化任何内容。因此,您可能需要一个DAO级别的事务,例如测试DAO层。如果控制器可以直接访问DAO,那么也需要DAO上的事务 您可能想要做的是在服务级别和DAO级别声明事务,重用提供的事务

在java(@Service或@DAO级别)中定义事务边界的位置,有什么建议吗


我们需要管理多个服务之间的事务。

通常我建议在服务中使用事务,但这取决于。。。。 对于服务,您将能够在一个事务中创建一批操作


例如,启动事务。读取、修改多个实体、更新、删除任何内容。关闭事务。

根据您的持久化技术,可能需要某种事务来持久化任何内容。因此,您可能需要一个DAO级别的事务,例如测试DAO层。如果控制器可以直接访问DAO,那么也需要DAO上的事务

您可能想要做的是在服务级别和DAO级别声明事务,重用提供的事务


阅读《关于交易的伟大》以及《关于想法的伟大》一书。

IMO,交易应该在服务层。DAO不应该对此感到担心,因为它们只从数据存储访问数据。