2012-02-25 15 views
0

私はhibernateを使用してデータベースにテーブルを作成しました。属性(ユーザー名)の1つがプライマリキーです。ユーザー名に重複する値を挿入しようとすると、次の例外が発生します。この例外を処理して、ユーザーに「username already exists」とプロンプトする必要があります。Hibernateプライマリキーの例外

22462 [HTTP-8080から2] org.hibernate.util.JDBCExceptionReporterをWARN - SQLエラー:0、SQLStateの:ヌル 22462 [HTTP-8080から2] ERRORのorg.hibernate.util.JDBCExceptionReporterは - バッチ を失敗しました22462エラー[http-8080-2]エラーorg.hibernate.event.def.AbstractFlushingEventListener - データベース状態をセッションと同期させることができませんでした。

+0

-http://stackoverflow.com/questions/3820452/hibernate-could-not-synchronize-database-state-with-sessionの可能な複製 – Rocky

答えて

1

IMO、より良い方法は、まずget queryを作成することです。 nullでないオブジェクトを返す場合は、「重複エントリ」というエラーメッセージをユーザに表示し、それ以外の場合はレコードをデータベースに挿入できます。

関連する問題