@NotNull 在 JPA/Hibernate 中默认

@NotNull on default in JPA/Hibernate

我有 MySql 数据库,其中有几个 table。每个 table 中的每个字段都不可为空。这就是为什么我被迫对所有标有 @Entity 的 Java 类中的每个字段使用 @NotNull 注释。我真的必须这样做还是有办法告诉 JPA/Hibernate 默认处理每个字段 NotNullable?

编辑: 我也知道 @Column(name="something", nullable=false)。但是,它仍然没有解决任何问题 - 你必须写 nullable=false

不存在这种可能性。 Not Nullable 约束并不是您对字段的期望,尽管它经常被使用。当您可以查看属性定义并从中了解所有内容时,这很方便,而无需解决某些高级设置,如 "every field should be @NotNull".

如果在其他地方隐藏了此设置,那么看到这样的实体定义会相当混乱。

还有一件事。 @NotNull注解和@Column(name="something", nullable=false)不一样。更多细节在这里: Confusion: @NotNull vs @Column(nullable = false)