簡體   English   中英

JTA和Spring @Transactional注釋之間的區別

[英]Difference between JTA and Spring @Transactional annotations

我一直在使用Spring的@Transactional注釋,它為管理事務提供了很多便利。 但是,在我們的代碼中使用此注釋現在使我們依賴於Spring。 我知道JPA類型的東西有一個javax持久性包,我們可以用JPA注釋標記各種類型的代碼,但由於它們都來自javax.persistence ,我們的代碼不依賴於任何特定的實現或ORM。

我想我的問題是,是否有任何類似的交易內容注釋。 我發現了一個javax jta包,但我不確定Spring是否真的可以實現任何通用注釋。 基本上我只是想知道是否存在任何類型的通用javax注釋,我們可以將這些注釋用於管理事務功能的方法,以便我們不依賴於Spring。

我不認為JavaEE 6提供像Spring那樣的事務划分注釋。 我認為,最接近的模擬是EJB無狀態會話bean的使用,這些會話bean本質上是事務性的,但沒有明確區分(如果我錯了,有人請糾正我)。

您可以選擇將您的代碼耦合到哪個API。 使用Spring的@Transactional的優點是你獨立於所使用的特定事務API( @Transactional可以使用JTA,JPA,Hibernate或原始JDBC事務,而無需更改代碼)。 但是,當然,你與春天有關。

如果注釋樣式是你想要的,那么除了你想完全包含JavaEE並使用EJB 3.x樣式的注釋之外,我看不到Spring的替代方案。

暫無
暫無

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

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