【问题标题】:How to set default value for class attributes using java annotations [duplicate]如何使用java注释设置类属性的默认值[重复]
【发布时间】:2015-01-11 18:55:53
【问题描述】:

如果用户没有指定,我想设置默认值。例如,对于 Boolean private isValid ,如果我们不指定任何 json 值,那么它应该设置 false 。我正在使用休眠验证器@NotNull, @NotBlank, @Size, @Range...是否有任何注释可以为布尔、整数、浮点数设置默认值,而与数据类型无关。我很累,但没有想出任何解决办法。我还在尝试..非常感谢您的帮助!谢谢

【问题讨论】:

  • 为什么不用boolean 而不是Boolean...
  • 如果他有一个允许该列为空的旧架构,他可能需要他的布尔值为空。

标签: java spring spring-mvc annotations hibernate-validator


【解决方案1】:

你可以在你的类定义中放松一下:

public YourClass{
....
private Boolean isValid=false;
....
}

【讨论】:

  • 我试过了,但它不起作用:(
  • 如何初始化它?你是从数据库加载的吗?也许您的数据库中只有 true ?
【解决方案2】:

只需在列中添加默认值

@Column(name="isValid",columnDefinition="tinyint(1) default '0'")
private Boolean isValid;

【讨论】:

  • 我得到编译错误“创建注释列”,请您提及所需的jar。我没有使用 Hibernate ORM。
  • 我试过了,但是没用。我没有在我的代码中使用 Hibernate ORM,这就是为什么它不起作用,我猜。我只使用 hibernate-validator jar 进行验证,而不是 hibernate orm。有什么可以使用注释设置默认值的吗?请帮忙。谢谢。
  • @syan 这是使用 java JPA 注释设置默认值的唯一方法。检查编辑的答案,然后重试。
猜你喜欢
  • 2017-11-19
  • 2011-10-10
  • 1970-01-01
  • 2017-01-25
  • 1970-01-01
  • 1970-01-01
  • 2017-02-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多