hereのようなGuiceメソッドレベルのトランザクションを使い始めました。Guice @Transactionalはトランザクションを開始しません
@Inject
private EntityManager entityManager;
@Transactional
public UserSession createSession(User user, String browser) {
UserSession session = new UserSession(user, browser);
entityManager.persist(session);
}
私はwisが十分であるべきだと思ったからです。しかし、トランザクションが開始されないため、エラーが発生します。私が自分で起動しコミットする場合にのみ動作します。
オブジェクトは、Guiceによって、イニシャライザの[アプリケーションの開始]に作成されます。各要求に対して同じインスタンスが使用されます。
なぜ機能しないのですか?
"オブジェクトもメソッドも最終的なものではありません" "クラス*もメソッドも最終的なものではありません"? –
うん、心のスリップ。一定。 –