データベース コードを記述するときは、通常、更新または挿入の前にレコードをチェックすることで、ConstraintViolationException がスローされるのを防ぎます。
ContraintViolationException が発生するのを待たずに処理します。これは、データベース管理者から、これは悪い習慣だと言われたことがあるからです。
しかし、多くの開発者が、SQL コードを使用して手動で違反をチェックするのではなく、ContraintViolationException と外部キーの例外を処理しているのを見ています。
質問は?どちらが良いですか?そのような例外が発生したときに処理する必要がありますか、または挿入/更新操作の前にオブジェクトをクエリして、これらのエラーがスローされないようにする必要がありますか?