簡體   English   中英

在 Spring Data JPA 中使用 @Transactional 注釋的層

[英]Layer to use the @Transactional annotation in Spring Data JPA

我正在為我的應用程序使用 Spring Data JPA,它具有以下層:

  1. 具有接口和實現的服務層(注釋為 @service)
  2. 帶有 Spring Data JPA 的CRUD 存儲庫層,以及自定義存儲庫實現
  3. 實體層

我想知道放置@Transactional的正確位置到底在哪里。 目前,我在使用存儲庫的服務層擁有它。

事務屬於服務層。 例如,如果您有HotelService ,則代碼如下所示:

@Service("hotelService")
@Transactional
public class HotelServiceImpl implements HotelService {
    @Autowired
    HotelDao hotelDao;

    // The rest of code omited ...
}

如果你有數據庫訪問權限,你必須把它放在@Transactional最好的地方。

請參閱了解 Spring 框架的聲明性事務實現

您只需使用 @Transactional 注釋來注釋您的類,將行 ( <tx:annotation-driven/> ) 添加到您的配置中,然后期望您了解它是如何工作的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM