【问题标题】:If I add @Size(min>2) does it make sense to also use @NotNull annotation?如果我添加 @Size(min>2) 是否也使用 @NotNull 注释有意义?
【发布时间】:2020-08-14 00:13:36
【问题描述】:

我正在从事一个涉及使用数据库和 JPA 的学校项目,我想知道是否应该将注释 @NotNull 保留在我已经拥有注释 @Size(min>2&& max

我们以用户名列为例

@Column
@NotNull
@Size(min = 2,max = 10)
private String username;

【问题讨论】:

    标签: java spring-data-jpa annotations


    【解决方案1】:

    string as null 和 string as empty 是有区别的。

     String s; or String s=null;
    

    这里的字符串是空的,所以不能使用它调用任何方法, 如果您尝试这样做,它会给出 NPE,因此您应该使用 @NotNull

    String s =""; 
    

    这里的字符串是空的,长度为0,所以它会失败你在@Size中给出的条件

    希望对你有帮助!!

    【讨论】:

    • 我明白什么是空字符串,但我的问题是如果我使用@Size(min>N) 其中N 是大于0 的任何数字,那么@NotNull 注释不会没用?
    • 不,因为@NotNull 不是在寻找你的长度,它确保你的变量不为空。未设置该属性时Java会抛出异常
    猜你喜欢
    • 2021-10-16
    • 1970-01-01
    • 1970-01-01
    • 2020-01-08
    • 2011-06-25
    • 1970-01-01
    • 1970-01-01
    • 2020-03-30
    • 1970-01-01
    相关资源
    最近更新 更多