JPAをスタンドアロンモードで実験しています(Hibernateに支えられています)。次のコードは、データベースの値を「文字化け」に変更することに成功していることに気付きました。
A a = em.find(A.class, 1);
a.setA1("garbled");
entityTransaction.begin(); // line 3
entityTransaction.commit(); // line 4
em.close();
3 行目より前に他のトランザクションbegin()はありません。EntityTransactionの API 仕様で使用されている言語は、それ以外のことを示しているように見えるか、またはbegin()とcommit()を使用してJPAエンティティ トランザクションを区別するモデルにおいて、何かが少し直感に反しているのではないでしょうか? 3行目と4行目をコメントアウトしてもデータベースの値は変更されないため、これらの行が必要であることに注意してください。