java 实体类 非空注解 BigDeciaml
时间: 2024-08-14 13:04:26 浏览: 48
在Java中,`@NonNull` 或 `@NotNull` 注解通常是由第三方库如Lombok、Guava等引入的,它们不是Java官方提供的标准注解,但可以用于标记实体类字段或方法参数,表示该值不应该为null。例如,如果你想要声明一个名为`BigDecimal`类型的字段应该始终有非空值,你可以这样做:
```java
import com.google.common.base.Preconditions; // 使用Google Guava库中的Preconditions
public class MyEntity {
@NonNull private BigDecimal amount;
public BigDecimal getAmount() {
return Preconditions.checkNotNull(amount, "Amount cannot be null");
}
// ...其他方法
}
```
这里使用了`Preconditions.checkNotNull()`进行非空检查,并在字段`amount`为null时抛出异常。`BigDecimal`是Java内置的数据类型,代表任意精度十进制数。
相关问题
java 实体类翻译注解
Java 实体类翻译注解可以使用 Java Bean Validation 中提供的 @javax.validation.constraints.NotNull 注解来标记属性为非空,也可以使用 @javax.validation.constraints.Size 注解来限制字符串类型属性的长度。但是,这些注解是英文的,如果需要在国际化环境中使用,就需要使用翻译注解来为这些注解添加中文说明。
常用的 Java 实体类翻译注解有两种:
1. 使用 Hibernate Validator 提供的 @org.hibernate.validator.constraints.NotBlank 注解,该注解可以指定一个 message 属性来指定注解的错误信息,例如:
@org.hibernate.validator.constraints.NotBlank(message = "姓名不能为空")
private String name;
2. 自定义一个翻译注解,例如:
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = {})
@Documented
@NotNull(message = "不能为空")
@Size(max = 50, message = "长度不能超过50个字符")
public @interface Name {
}
然后在实体类中使用该注解来标记属性:
@Name
private String name;
这样,在使用 Hibernate Validator 进行实体类校验时,就可以得到中文的错误提示信息了。
阅读全文