1

データベース コードを記述するときは、通常、更新または挿入の前にレコードをチェックすることで、ConstraintViolationException がスローされるのを防ぎます。

ContraintViolationException が発生するのを待たずに処理します。これは、データベース管理者から、これは悪い習慣だと言われたことがあるからです。

しかし、多くの開発者が、SQL コードを使用して手動で違反をチェックするのではなく、ContraintViolationException と外部キーの例外を処理しているのを見ています。

質問は?どちらが良いですか?そのような例外が発生したときに処理する必要がありますか、または挿入/更新操作の前にオブジェクトをクエリして、これらのエラーがスローされないようにする必要がありますか?

4

2 に答える 2

2

より良い、つまり最も簡単な方法は、そのような例外が発生したときに処理することです。そもそもそれが try catch の目的だからです。

挿入/更新の前にオブジェクトをクエリすると、コードを追加するだけでアプリケーションが遅くなる可能性があります。これは、データベースのトリップがリソースを大量に消費するためです。1000 人のユーザーがいて、アプリケーションがそれを行うとします。

于 2012-10-10T08:49:05.960 に答える