2016-09-15 16 views
0

EJBでは@TransactionAttribute(TransactionAttributeType.REQUIRED)のようなアノテーションがあることがわかりました。そのため、トランザクションはコンテナ自体によって管理されます。しかし、それを使うと、コンテナがそれを世話するのでcon.commit()を書く必要はありません(これは私がEJBで新しくなったので推測しています)。だから、私の混乱は、jdbcトランザクションがコンテナトランザクションとどのように関連しているのかということです。@TransactionAttribute(TransactionAttributeType.REQUIRED)のアノテーションを持つメソッドの最後にコミットします。EJBでは@TransactionAttribute(TransactionAttributeType.REQUIRED)もjdbcトランザクションをコミットする方法はありますか?

答えて

1

短い答えは、例外が発生しない限りロールバックされます。 これは、コンテナ管理トランザクションの例です。 もう1つのオプションはユーザー管理トランザクションです。トランザクションの境界はtx.begin()、tx.commit()などで定義されます。 ほとんどの場合、コンテナ管理トランザクションで十分です。

関連する問題