注解 @Column( nullable = false ) vs @NotNull 区别
Annotations @Column( nullable = false ) vs @NotNull difference
I readed this.但是并没有给ma一个明确的用法答案
当我创建 table 和列时。
案例 1:
@Column(nullable = false, length = 14)
@NotNull
private String something;
案例2:
@Column(length = 14)
@NotNull
private String something;
不一样吗?我的意思是 @NotNull 会更早抛出异常,所以有理由做 nullable = false 列吗?
@Column 与数据库相关。如果您从 Java 代码自动创建数据库模式,nullable=false 将确保创建一个 NOT NULL 列,如果有其他应用程序访问您的数据库,这应该很有用。此外,您的应用可能会在将数据发送到数据库之前检查此约束。
@NotNull 与 Java 相关。 Java 未设置此属性时将抛出异常。不需要数据库上下文。
这两个注释听起来很相似,但有两个不同的用途。可能有些库会自动从一个注解中推断出另一个注解,但您始终可以同时使用这两个注解。当您这样做时,将在 @Column.
之前检查 @NotNull
I readed this.但是并没有给ma一个明确的用法答案
当我创建 table 和列时。
案例 1:
@Column(nullable = false, length = 14)
@NotNull
private String something;
案例2:
@Column(length = 14)
@NotNull
private String something;
不一样吗?我的意思是 @NotNull 会更早抛出异常,所以有理由做 nullable = false 列吗?
@Column 与数据库相关。如果您从 Java 代码自动创建数据库模式,nullable=false 将确保创建一个 NOT NULL 列,如果有其他应用程序访问您的数据库,这应该很有用。此外,您的应用可能会在将数据发送到数据库之前检查此约束。
@NotNull 与 Java 相关。 Java 未设置此属性时将抛出异常。不需要数据库上下文。
这两个注释听起来很相似,但有两个不同的用途。可能有些库会自动从一个注解中推断出另一个注解,但您始终可以同时使用这两个注解。当您这样做时,将在 @Column.
之前检查 @NotNull