Red Hat Training

A Red Hat training course is available for Red Hat JBoss Web Server

5.4.3. デタッチされたオブジェクトと自動バージョン機能

このパラダイムでは、データストアとの各対話が新しい永続コンテキストで行われます。ただし、データベースとの各対話に対して同じ永続インスタンスが再利用されます。アプリケーションは最初に別の永続コンテキストにロードされたデタッチ済みのインスタンスのステータスを操作し、EntityManager.merge() を使用して変更をマージします。
// foo is an instance loaded by a non-extended entity manager
foo.setProperty("bar");
entityManager = factory.createEntityManager();
entityManager.getTransaction().begin();
managedFoo = entityManager.merge(foo);  // discard foo and from now on use managedFoo
entityManager.getTransaction().commit();
entityManager.close();
再び、エンティティマネージャはフラッシュ時にインスタンスバージョンをチェックして、更新が競合する場合は例外をスローします。