@NotNull
javax.validation.constraints
javax.validation.constraints.NotNulljavadoc
带注释的元素不能为空
但是它没有提到数据库中元素的表示形式,那么为什么nullable=false要在列中添加约束呢?
nullable=false
@NotNull是JSR 303 Bean验证批注。它与数据库约束本身无关。由于Hibernate是JSR 303的参考实现,因此它会智能地选择这些约束并将其转换为数据库约束,以便你以1的价格获得2。@Column(nullable = false)是JPA声明列为非空的方法。即,前者用于验证,而后者则用于指示数据库架构详细信息。你将从Hibernate的验证批注中获得一些额外的(欢迎使用!)帮助。
@Column(nullable = false)