私はデータベース内のユーザを示すjspウェブページをコーディングしようとしています。このページは正しく機能しています。JPAエンティティは削除後も残っています
たとえば、ページ上のリンクをクリックしてデータベースからユーザーを削除することはできますが、残念ながらユーザーは次のページの読み込み時に引き続き表示されます。ページをリロードした後、ユーザーはなくなります。私は@Cacheable(false)
をJPAクラスに追加しましたが、何も変わりませんでした。良好例ワークフロー理解のため
:ページがデータベース
- を管理クリック
- 管理者がユーザを削除する(によって
- サーブレットは、ユーザを削除し、ポイント番号1からshowUserHandlerを呼び出します。
- ページがロードされていますが、削除されたユーザi sがまだそこ
- F5を押すか、 "リロード" とユーザーが
を行っているユーザーは、同様に削除されます。
Users user = em.find(Users.class, request.getParameter("uId"));
if (user != null) {
em.getTransaction().begin();
em.remove(user);
em.getTransaction().commit();
em.close();
}
そしてユーザーを読み込む:
EntityManager em = SessionUtil.createManager();
List<Users> usersList = em.createNamedQuery("Users.findAllOrdered", Users.class).setParameter("uId", Integer.parseInt(request.getParameter("lastID"))).setFirstResult(0).setMaxResults(10).getResultList();
ことができる人何がいけないのか教えてください ?
showUserHandlerの削除と呼び出しが行われるステップ3サーブレットの完全なソースコードを共有できますか? –
なぜJPAプロバイダのログを調べてみませんか? SQLが呼び出され、それがデータストア内にあるかどうかがわかり、キャッシュから来ているかどうかを確認できます。 JPA API呼び出しに頼っているだけで、大きなブラックボックスとして扱われていて、まったくデバッグされていません。 –
@SanjeevSahaソースコードが – marian04