Springを使用し、TransactionInterceptorを使用してHibernateトランザクションを透過的に取得するプログラムで作業しています。これにより、「このメソッドが他のクラスから呼び出されたときに、トランザクション内にこのメソッドが呼び出されたときに、そのメソッドをもう一度呼び出すことは非常に便利です。Springクラス内でHibernateトランザクションを取得する
しかし、私は書き込みを試みる必要があり、成功したかどうかをすぐに見つけなければなりません。とにかく私は2つのメソッドが必要ですが、プロシージャを明示的にトランザクションを作成する必要なしに、同じクラスにそれらを保持する方法があることを期待していました。私はそれを理解するように私はちょうど直接transactionalMethodを呼ぶだろうので、これは動作しないと、残念ながら
public void methodOne() {
//..do some stuff
try {
transactionalMethod();//won't do what I want
} catch(OptimisticLockingFailure e) {
//..recover
}
}
@Transactional
public void transactionalMethod() {
//...do some stuff to database
}
:実際に、私はこのような何かをしたいと思います。 Springが私のためにローカルメソッドを呼び出し、必要に応じてトランザクションでラップするように頼む方法はありますか、それとも別のクラスになければなりませんか?