Hibernate验证器.ppt_第1页
Hibernate验证器.ppt_第2页
Hibernate验证器.ppt_第3页
Hibernate验证器.ppt_第4页
Hibernate验证器.ppt_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

HibernateORM最佳实践第11章Hibernate验证器 2 回顾 使用注释定义对象关系映射使用HibernateAnnotations建立一个项目利用注释进行各种对象关系映射利用注释定义命名查询 3 目标 了解Hibernate验证器框架使用Hibernate验证器内建约束Hibernate验证器国际化资源包学会编写自定义验证器对关联对象进行约束验证 4 创建Hibernate验证器 下载资源包 Hibernate验证器提供在代码中使用注释来定义各种约束条件 使用内建约束 HibernateValidator本身定义 使用自定义约束 5 示例 内建约束 Length 检查字符串长度是否符合范围 内建约束 NotNull 检查值是否非空 6 运行 保存约束没通过返回的具体信息 产生异常 不满足约束条件 7 结果 修改上述程序 将company的属性设置不为null 情况怎样 8 结果 修改name的属性符合约束条件 9 内建约束 10 使用自定义约束 实现自己的约束 约束名称 约束实现类 使用约束描述符 interface定义约束名称 ValidatorClass 自定义验证器实现类 如 WebAddress prefix http www 自定义验证器实现类必须实现接口 Validator 如果该验证器用来检查属性值 还要实现 PropertyConstraint接口 实现方法isValid 定义满足约束的条件initialize 初试化约束属性 约束名称 约束属性 11 示例 自定义标记约束 要求Company的属性url以http www 开头 描述自定义验证器类 约束目标是属性 且在运行时读取使用 定义注解WebAddress 包含属性prefix message WebAddress java message是用于描述约束违规的默认字符串 它是强制要求的 importstaticjava lang annotation ElementType FIELD Target FIELD 12 自定义验证器代码 WebAddressValidator java 实现接口 注解约束符的属性初始化 WebAddress prefix http www 约束条件的设置 13 运行 自定义约束 14 结果 15 错误信息国际化 验证器能够根据不同环境返回符合国际化错误信息 利用java util ResourceBundle的子类即ListResourceBundle或PropertyResourceBundle资源绑定 16 示例 PropertyMessage properties PropertyMessage properties 字符串能否从资源文件中获取 17 运行 18 验证关联对象 如果在验证一个对象时 让验证器同时也验证其关联对象的约束 需要使用 Valid约束 班级 学生 19 运行 因为在Tstudent中使用 Valid验证关联对象 所以InvalidValue 包含Tunit对象的错误信息 20 注册验证器事件监听器 HibernateValidator有两个内建Hibernate事件监听器 当一个PreInsertEvent或PreUpdateEvent发生时 监听器会验证该实体实例的所有约束 如有违反会抛出一个异常 基本上 在Hibernate执行任何插入和更新前对象会被检查 这是激活验证过程的最便捷最简单的方法 当遇到约束违规时 事件会引发一个运行时异常InvalidStateException 该异常包含一个描述每个错误的InvalidValue数组 在配置文件中注册事件监听器 pre insert pre update org hibernate validator event ValidateEventListener org hibernate validator event ValidatePreInsertEventListener org hibernate validator event ValidatePreUpdateEventListener 21 示例 在hibernate cfg xml配置如下 也可以通过编程方式注册监听器 使用Configuration类的setListener

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论