0

私はいくつかの方法を持っています

@persistanceContext
EntityManager em;

public Car getCar(int id) {

   em.find(Car.class, id)

}

@Trasnactional

public void saveCar(Car car) {

   em.save(car);
}

検索を実行したときに呼び出されるメソッドのトランザクションも開始する必要がありますか?

4

2 に答える 2

2

Read-Onlyデータのフェッチ中にトランザクションを使用することをお勧めします。読み取り中のデータの不整合を防ぎ、コミットされたもののみを読み取ります。

繰り返しますが、ベストプラクティスまで、なしTransactionでも使用できます。

于 2013-03-06T15:09:32.977 に答える
0

いいえ、必要ありません。保存する場合にのみ、@Transactionalを使用する必要があります。

メソッドで例外が発生した場合にこれを使用すると、以前のすべての操作(つまり、insertinsa、deletions)がロールバックされます。

それはに基づいて動作しますdo every thing or nothing principle

于 2013-03-06T15:01:06.473 に答える