私はこれが基本的に私が欲しいことをするimplementationを見つけました。hibernate-validatorでオプションの/ nullableプロパティを作成するには?
@ConstraintComposition(OR)
@NotBlank
@Null
@ReportAsSingleViolation
@Target({METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER})
@Retention(RUNTIME)
@Constraint(validatedBy = {})
public @interface NullOrNotBlank {
String message() default "{org.hibernate.validator.constraints.NullOrNotBlank.message}";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
と私はまた
@field:NullOrNotBlank
@field:Size(max = 50)
@field:Column(nullable = true)
var middleName: String? = null,
しかし、この複合制約は、データベース(MySQLの)NULL可能でないフィールドを作る試みた
@field:NullOrNotBlank
@field:Size(max = 50)
var middleName: String? = null,
として使用します。ですから、エンティティをデータベースに保存するまでは正常に動作しています。
NullOrNotBlank' 'の生成された列は、私はハイテク – jasperagrante
ヌルプロパティを持つエンティティを挿入していたときにエラーがスローされます' NOT NULL'ですが、私はあなたが制約を更新するには、 'hbm2ddl.auto'を使用してみてくださいと思います列に列が存在する場合、制約はまったく更新されません。手動で更新する必要があります。こちらをご覧ください:https://stackoverflow.com/questions/15978368/hibernate-hbm2ddl-auto-update-doesnt-update-column-definitions-in-mysql/26681592 –
それはどうですか?問題がなければ。質問が重複しているので、質問を削除する必要があります。 –