トランザクションのロールバックを実行するために例外をキャッチするDAOメソッドがあります。例外をキャッチし、失敗した操作についての警告を表示します。
public void edit(Employees em) {
Session s = HibernateUtil.getSessionFactory().getCurrentSession();
try {
s.beginTransaction();
s.update(em);
s.getTransaction().commit();
} catch (Exception e) {
e.printStackTrace();
s.getTransaction().rollback();
}
}
フロントエンドでは、以下のように呼びます。
public String save() {
Employee_dao dao = new Employee_dao();
dao.edit(emp);
return "index";
}
しかし、私はフロントエンドで例外をキャッチしたいので、エンドユーザーにメッセージを表示できます。ロールバックを実行しているときにこれをどのように達成できますか?
_「このような挿入が失敗した場合、それが戻ってユーザーを取りますメインメニュー(index.html)に移動してください。 "_これは、これを行うように指示したときにのみ発生します(どこかで)。解決策は、エラーをキャッチして顔のメッセージを追加してクライアントに表示することです。通常、[mcve]とバージョン情報は必ず**質問と一緒に投稿する必要があります。 – Kukeltje
元の質問は長すぎました。私は、JSF/Hibernate/PostgreSQLがまったく関連していない、具体的な問題に焦点を当てるように言い換えました。 – BalusC