If the JPA validation mode is set to CALLBACK, BV constraints such as
@NotNull, @Size etc. are not reflected in the DDL created by ORM.
Instead, in TypeSafeActivator, the BV constraints are only considered for
DDL if the validation mode is DDL or AUTO .
CALLBACK is the safe way to ensure BV is invoked by JPA (instead of
silently ignoring it if no BV provider is present), so it's the setting I
usually recommend. I think constraints should also be propagated to DDL in
this mode, so I'm wondering whether there a specific reason for the current
behaviour or wether we can change it?
hibernate-dev mailing list