1. ホーム
  2. java

[解決済み] javax.transaction.Transactional vs org.springframework.transaction.annotation.Transactional

2022-04-16 09:44:36

質問

アノテーションとアノテーションの違いがよくわかりません。 javax.transaction.Transactionalorg.springframework.transaction.annotation.Transactional ?

org.springframework.transaction.annotation.Transactional の拡張版です。 javax.transaction.Transactional それとも全く違う意味なのでしょうか?それぞれどのような場合に使うのでしょうか?春 @Transactinal をサービスレイヤーに、そして ジャバックス をDAOで使うのですか?

回答ありがとうございました。

どのように解決するのですか?

Springは何年も前に、Springビーンメソッドをトランザクションにするために、独自のTransactionalアノテーションを定義しました。

Java EE 7もついに同じことを行い、EJBメソッドに加え、CDIビーンメソッドもトランザクションに対応できるようになったのです。そのため、Java EE 7以降では、独自のTransactionalアノテーションも定義しています(明らかにSpringのものを再利用することはできません)。

Java EE 7アプリケーションでは、Java EEアノテーションを使用します。

Springアプリケーションの場合、Springアノテーションを使用します。

用途は同じで、コンテナ(Java EEまたはSpring)にメソッドがトランザクションであることを通知することです。