Spring JPA 持久化验证无效解决方案

Spring JPA的映射非常强大,基本上只用注解就能完成非常复杂的关联和校验,但是光引入Spring JPA包的话实体类上的验证注解是不会生效的,百度也搜不到,基本都是说在MVC层面加@Valid注解校验(那有M用,如果逻辑层数据处理出错就绕过校验了),我们要做的是在持久化实体类那一刻做校验,把好最终的关口,所以要想让注解生效,只需要加入以下maven依赖即可。

<dependency>
	<groupId>org.hibernate</groupId>
	<artifactId>hibernate-validator</artifactId>
	<version>6.1.7.Final</version>
</dependency>

另外附上官方DOC注解说明

注解说明
@AssertFalse取值必须为false
@AssertTrue取值必须为true
@DecimalMax取值必须小于或等于指定数值(注解取值为字符串型)
@DecimalMin取值必须大于或等于指定数值(注解取值为字符串型)
@Max取值必须小于或等于指定数值(注解取值为数值型)
@Min取值必须大于或等于指定数值(注解取值为数值型)
@Digits校验整数位数(integer)和小数位数(fraction)
@Future取值必须是一个将来的日期
@Past取值必须是一个过去的日期
@NotNull取值不为null
@Null取值必须为null
@NotBlank不允许为null且去除前后空格后不允许为空
@NotEmpty不允许为null且不允许为空
@Pattern取值必须满足指定正则表达式
@Size取值必须在指定边界之间(包含边界)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值