@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)
我有 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)