2012-01-11 12 views
2

私は春を使用して自分のデータベースのDAOレイヤーとサービスレイヤーを作成しました。春の重複カラム値の例外をキャッチする方法

一部の表では、一部の列に対して一意の制約があります。これらの列に重複値を挿入しようとすると、列名に基づいてこれらの例外をどのように捕捉できますか?基本的には、どの列がクエリの失敗を引き起こしたのかを知る必要があります。

答えて

1

ユニークキーに違反するDAO操作では、DataIntegrityViolationExceptionがスローされます。しかし、これから特定の列名を簡単に抽出することはできませんが、それだけでは詳細ではありません。

この情報が必要な場合は、の前にを実行して、挿入/更新を実行して制約に違反しないことを確認することを検討する必要があります。チェックが失敗した場合は、あなたの情報があります。

+0

ありがとうございます – Dilip

+0

これは実際にJPAの背後にあるデータベースの種類によって異なります。 MongoDBを使うと、必要なすべての情報を持つ素晴らしいDuplicateKeyExceptionがスローされます。 MySQLを使用している場合、あなた自身がアップしています... – Robert

関連する問題