0

エンティティ Bean が JPA によって管理される EJB 3.0 に取り組んでいます。私の質問は、2 人以上のユーザーが同じフォームを同時に使用して同じテーブルに挿入しようとする場合、JPA がその状況をどのように処理するかです。

4

1 に答える 1

1

データベーストランザクションを使用して、問題なく管理します。2 つのスレッドが同じ行を (つまり、同じ主キーで) 同時に作成しようとすると、一方は成功し、もう一方はデータベースから例外を受け取り、そのトランザクションのロールバックが発生します。つまり、同じトランザクションで行われた他のすべての挿入、更新、および削除もロールバックされるか、必要に応じてキャンセルされ、データベースは一貫した状態のままになります。それはACIDの Aです。

2 つのスレッドが 2 つの異なる行を同じテーブルに同時に挿入すると、データベースはそれを問題なく処理し、両方の行が挿入されます。

于 2013-02-24T10:30:08.003 に答える