约束继承

如果要验证的对象继承于某个父类或者实现了某个接口,那么定义在父类或者接口中的约束会在验
证这个对象的时候被自动加载,如同这些约束定义在这个对象所在的类中一样. 让我们来看看下面
的示例:

package com.mycompany;
import javax.validation.constraints.NotNull;
public class RentalCar extends Car {
private String rentalStation;
public RentalCar(String manufacturer, String rentalStation) {
super(manufacturer);
this.rentalStation = rentalStation;
}
@NotNull
public String getRentalStation() {
return rentalStation;
}
public void setRentalStation(String rentalStation) {
this.rentalStation = rentalStation;
}
}

我们有了一个新的 RentalCar 类继承自前面我们已经见到的 Car ,  这个子类中增加了一个
rentalStation属性. 如果校验一个 RentalCar 的实例对象, 那么不仅会验证属性rentalStation上
的  @NotNull 约束是否合法,还会校验父类中的manufacturer属性.
如果类 Car 是一个接口类型的话也是一样的效果.
如果类 RentalCar 重写了父类 Car 的 getManufacturer() 方法, 那么定义在父类的这个方法上的约束和
子类这个方法上定义的约束都会被校验.

hibernate_validator_03的更多相关文章

随机推荐

  1. 字符串(后缀数组):POJ 3294 Life Forms

    Life Forms Description You may have wondered why most extraterrestrial life forms resemble humans, d ...

  2. FZYZOJ-1880 【UFO】水管

    P1880 -- [ufo]水管 时间限制:1000MS      内存限制:131072KB      通过/提交人数:32/100 状态:      标签:    数学问题-组合数学   无    ...

  3. word 2010中如何创建多级目录和多级列表

    原文地址:http://wenku.baidu.com/link?url=KkSmYTqogxA5VJkLCGb957E5fIGN5S50FUx7IpAWWWKWWRYvaeGl2IvX-dFP25r ...

  4. zoj 3365 灵活数字规律

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3365 #include <cstdio> #incl ...

  5. M - 非常可乐

    很明显看出来的广搜题目,不过因为有3个杯子相互倾倒,所以会产生6种倒发,比较冗杂,不过应该可以构造一个数组来解决这个问题,试试看吧 ////////////////////////////////// ...

  6. Appium移动自动化测试(一)--安装Appium(转)

    Appium移动自动化测试(一)--安装Appium 2015-05-30 17:48 by 虫师, 70668 阅读, 13 评论, 收藏, 编辑 Appium 自动化测试是很早之前就想学习和研究的 ...

  7. SpringBoot 配置文件 application.properties(二)

    mvc spring.mvc.async.request-timeout设定async请求的超时时间,以毫秒为单位,如果没有设置的话,以具体实现的超时时间为准,比如tomcat的servlet3的话是 ...

  8. SpringMVC在上传文件的时候提示The current request is not a multipart request错误

    @RequestMapping("/insertOrder") @ResponseBody public  Object insertOrder(String userId,Htt ...

  9. [深入React] 1. 开发环境搭建

    React环境其实很简单(不兼容ie8): <!DOCTYPE html> <html> <head> <title>React</title&g ...

  10. Linux驱动开发学习的一些必要步骤

      1. 学会写简单的makefile 2. 编一应用程序,可以用makefile跑起来 3. 学会写驱动的makefile 4. 写一简单char驱动,makefile编译通过,可以insmod, ...