In a data driven environment, to avoid duplicating "DEFAULT" annotation in column entity which have DEFAULT values defined in SGBD, hibernate has this annotation:

@org.hibernate.annotations.Entity ( dynamicInsert = true, dynamicUpdate = true )

This will ensure that no explicit null insert/update will be generated thus violate the NOT NULL constraint.