JPA/Hibernate 默认的 @NotNull 是什么意思?

4
我有一个MySql数据库,其中包含多个表。每个表中的每个字段都不可为空。这就是为什么我被迫在所有标有@Entity的Java类中的每个字段上使用@NotNull注释的原因。我真的需要这样做吗?还是有一种方法可以告诉JPA/Hibernate默认将每个字段视为NotNullable?
编辑: 我也知道@Column(name="something", nullable=false)。但是,它仍然没有解决任何问题-您必须编写nullable=false。
1个回答

6

不存在这样的可能性。Not Nullable 约束并不是你总是从字段中期望的,尽管它经常被使用。当你可以查看属性定义并在其中找到所有信息时,而不需要访问一些高级设置,比如“每个字段都应该是@NotNull”时,它是很方便的。

如果这个设置被隐藏在其他地方,那么会相当令人困惑。

还有一件事。 @NotNull 注释和 @Column(name="something", nullable=false) 不是同一个东西。更多细节请参见: 混淆:@NotNull vs @Column(nullable = false)


啊,我想默认为每个字段设置@NotNull - KimchiMan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接