これはおそらく重複していることを知っており、皮肉なことに、それについてあちこち読み始める前に、それが何のためにあるのか知っていると思っていました(言うまでもありませんが、それでも言います。間違っているところを修正してください):
これにより、プログラマーは と を使用する必要がなくなりtransaction.begin()ますcommit()。
2 つの DAO メソッドを呼び出すメソッドがあり、通常はそれぞれが実際の操作transaction.beginをtransaction.commit取り囲み、それらを呼び出すと、2 つのトランザクションが発生します (また、前の DAO メソッドもロールバックされると想定されていた場合、ロールバックの問題が発生する可能性があります)。 )。
ただし、@transactionalメソッドで使用すると、これらすべての DAO 呼び出しが単一のサイクルにラップされbegin()ますcommit()。もちろん、DAO を使用する場合はメソッドとメソッドを@Transactional 使用してはいけません。begin()commit()