Confusion: @NotNull vs @Column(nullable = false)
When they appear on a field/getter of an @Entity , what is the difference between them? (I persist the Entity through Hibernate ). What framework and/or specification each one of them belongs to? @NotNull is located within javax.validation.constraints . In the javax.validation.constraints.NotNull javadoc it says The annotated element must not be null but it does not speak of the element's representation in the database, so why would I add the constraint nullable=false to the column? Ryan Stewart @NotNull is a JSR 303 Bean Validation annotation. It has nothing to do with database constraints