JavaでDBの1レコードを表すクラスを考えます。
テーブルには各種制約(not null, unique, referenceなど)があるのですが、
Java上にこれらの制約を持ち込むのはマズいのでしょうか。
特にそういうのを気にせずにSQL投げてSQLExceptionが発生したら対処するパターンはよく見るのですが。

制約を持ち込んだ場合の利点としてはアプリ側で更新できないものを前もって判別できる、
欠点は制約内容の確認のために1回以上のSELECTが発生する、DBの制約を変更するたびにJavaソースも変更されるところかなと考えてます。