データをDBに保存する前に検証したい(フィールドがnullでないかどうかを確認し、setterの正規表現に一致させる)。しかし、フィールドがnullの場合、Hibernateはsetterを使用しません。この場合、私は何をすべきですか?フィールドがヌルの場合、Hibernateはsetterを使用しません
@Column(name = "table_name")
private String tableName;
public void setTableName(String tableName) {
Assert.hasText(tableName); // Assert.hasText() - method from Spring util
this.tableName = tableName;
}
したがって、メソッドAssert.hasText()
は、tableNameがnullの場合に例外をスローするようにします。
あなたが持っていますフィールドにアノテーションを入れます。これは、休止状態がフィールドアクセスであり、プロパティアクセスではないことを意味します。フィールドが必要な場合は、hibernateバリデーターを使用してフィールドに '@NotNull'を入れてください。適切な検証を使用してください。 –
Beanの検証はJPA APIとは関係ありません。上で指摘したように、Bean検証APIです。 JPA仕様には、セッター(他の不適切なコードが含まれている可能性があります)を使用するように強制するものは何もありません。 –