私はいくつかの方法を持っています
@persistanceContext
EntityManager em;
public Car getCar(int id) {
em.find(Car.class, id)
}
@Trasnactional
public void saveCar(Car car) {
em.save(car);
}
検索を実行したときに呼び出されるメソッドのトランザクションも開始する必要がありますか?
私はいくつかの方法を持っています
@persistanceContext
EntityManager em;
public Car getCar(int id) {
em.find(Car.class, id)
}
@Trasnactional
public void saveCar(Car car) {
em.save(car);
}
検索を実行したときに呼び出されるメソッドのトランザクションも開始する必要がありますか?
Read-Only
データのフェッチ中にトランザクションを使用することをお勧めします。読み取り中のデータの不整合を防ぎ、コミットされたもののみを読み取ります。
繰り返しますが、ベストプラクティスまで、なしTransaction
でも使用できます。
いいえ、必要ありません。保存する場合にのみ、@Transactionalを使用する必要があります。
メソッドで例外が発生した場合にこれを使用すると、以前のすべての操作(つまり、insertinsa、deletions)がロールバックされます。
それはに基づいて動作しますdo every thing or nothing principle