如何使用java注释设置类属性的默认值[重复]

Posted

技术标签:

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

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

【问题讨论】:

为什么不用boolean 而不是Boolean... 如果他有一个允许该列为空的旧架构,他可能需要他的布尔值为空。 【参考方案1】:

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

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

【讨论】:

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

只需在列中添加默认值

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

【讨论】:

我得到编译错误“创建注释列”,请您提及所需的jar。我没有使用 Hibernate ORM。 @syan 在这里获取罐子mvnrepository.com/artifact/org.hibernate.javax.persistence/… 我试过了,但是没用。我没有在我的代码中使用 Hibernate ORM,这就是为什么它不起作用,我猜。我只使用 hibernate-validator jar 进行验证,而不是 hibernate orm。有什么可以使用注释设置默认值的吗?请帮忙。谢谢。 @syan 这是使用 java JPA 注释设置默认值的唯一方法。检查编辑的答案,然后重试。

以上是关于如何使用java注释设置类属性的默认值[重复]的主要内容,如果未能解决你的问题,请参考以下文章

C#:如何设置属性的默认值

请问 java 怎么获取一个类里面属性上方的注释

如何根据 Spring Boot 中的活动配置文件设置注释属性值?

如何获得实体类里属性本身?

java中在一个类中如何设定默认值

如何将属性值注入使用注释配置的 Spring Bean?