- 浏览: 20474 次
-
文章分类
最新评论
Unable to get the default Bean Validation
按照马士兵的ssh整合视频开始配置ssh架构,但是由于版本不相近遇到了两个问题,特此记录下:
<wbr></wbr>
1.java.lang.NoSuchFieldError: INSTANCEat org.hibernate.type.BasicTypeRegistry.(BasicTypeRegistry.java:94)at org.hibernate.type.TypeResolver.(TypeResolver.java:59)at org.hibernate.cfg.Configuration.(Configuration.java:249)at org.hibernate.cfg.Configuration.(Configuration.java:300)
<wbr></wbr>
<wbr></wbr>
<wbr></wbr>
经过查找发现是hibernate-annotations.jar和hibernate-commons-annotations.jar的问题,hibernate.jar已经将其整合
<wbr></wbr>
<wbr></wbr>
2.去掉两个包之后出现
<wbr></wbr>
Error creating bean with name 'userManager': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.bolo.examples.dao.base.UserDao com.bolo.examples.service.base.UserManager.userDao; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDao' defined in file [E:\MyEclipse9.0\workspace\ssh2\WebRoot\WEB-INF\classes\com\bolo\examples\dao\base\UserDao.class]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is org.hibernate.HibernateException: Unable to get the default Bean Validation factory
<wbr><wbr></wbr></wbr>
也是一番查找之后发现在
<wbr><span style="word-wrap:normal; word-break:normal; line-height:30px; font-size:20px"><br></span></wbr>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactory<wbr><wbr>Bean"><br><wbr><wbr><wbr><wbr><property name="dataSource" ref="dataSource" /><br><wbr><wbr><wbr><wbr><property name="hibernateProperties"><br><wbr><wbr><wbr><wbr><wbr><wbr><props><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><prop key="hibernate.show_sql">true</prop><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><prop key="hibernate.format_sql">true</prop><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span style="color:#FF0000; word-wrap:normal; word-break:normal"><prop key="javax.persistence.validation.mode">none</prop><wbr></wbr></span><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr></props></wbr>
<wbr><wbr><wbr><wbr><wbr></property><br><wbr><wbr><wbr><wbr><property name="packagesToScan" value="com.bolo.examples.entity.*" /><br><wbr><wbr></bean></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr></wbr>
<wbr><wbr></wbr></wbr>
加入红色部分就没有问题了
<wbr style="color:rgb(50,62,50); font-family:simsun; font-size:14px; line-height:21px; background-color:rgb(227,235,240)"><span style="color:rgb(50,62,50); font-family:simsun; font-size:14px; line-height:21px; background-color:rgb(227,235,240)"></span> <p style="margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; border:0px; list-style:none; word-wrap:normal; word-break:normal; line-height:21px; color:rgb(50,62,50); font-size:14px; background-color:rgb(227,235,240); font-family:'Times new roman'!important"> <span style="word-wrap:normal; word-break:normal; line-height:30px; font-size:20px">真是不同的<span style="color:#ED1C24; word-wrap:normal; word-break:normal">版本</span>差异比较大啊</span></p> <p style="margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; border:0px; list-style:none; word-wrap:normal; word-break:normal; line-height:21px; color:rgb(50,62,50); font-size:14px; background-color:rgb(227,235,240); font-family:'Times new roman'!important"> <wbr></wbr></p> <p style="margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; border:0px; list-style:none; word-wrap:normal; word-break:normal; line-height:21px; color:rgb(50,62,50); font-size:14px; background-color:rgb(227,235,240); font-family:'Times new roman'!important"> <span style="word-wrap:normal; word-break:normal; line-height:30px; font-size:20px">其实这个问题是我们自己造成的!为什么这么说?因为我们在配置Spring和Hibernate进行结合的时候版本出现了问题。<br> <persistence ...><wbr><wbr><br><wbr><persistence-unit ...><wbr><br><wbr><wbr><wbr>...<wbr><br><wbr><wbr><wbr><properties><wbr><br><wbr><wbr><wbr><wbr><wbr><property name="javax.persistence.validation.mode"<wbr><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>value="callback, ddl"/><wbr><br><wbr><wbr><wbr></properties><wbr><br><wbr></persistence-unit><wbr><br> </persistence><wbr><br><span style="color:#FF0000; word-wrap:normal; word-break:normal">这是hibernate官方文档的一段话!</span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></span></p> <p style="margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; border:0px; list-style:none; word-wrap:normal; word-break:normal; line-height:21px; color:rgb(50,62,50); font-size:14px; background-color:rgb(227,235,240); font-family:'Times new roman'!important"> <span style="word-wrap:normal; word-break:normal; line-height:30px; font-size:20px">意思就是在hibernate.cfg.xml或者是<br> persistence.xml文件下面需要配置<br> javax.persistence.validation.mode属性!</span></p> <p style="margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; border:0px; list-style:none; word-wrap:normal; word-break:normal; line-height:21px; color:rgb(50,62,50); font-size:14px; background-color:rgb(227,235,240); font-family:'Times new roman'!important"> <span style="word-wrap:normal; word-break:normal; line-height:30px; font-size:20px">特别的!在Hibernate中默认的</span></p> <p style="margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; border:0px; list-style:none; word-wrap:normal; word-break:normal; line-height:21px; color:rgb(50,62,50); font-size:14px; background-color:rgb(227,235,240); font-family:'Times new roman'!important"> <span style="word-wrap:normal; word-break:normal; line-height:30px; font-size:20px"><prop key="javax.persistence.validation.mode">none</prop><br> 是auto而不是none!</span></p> <p style="margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; border:0px; list-style:none; word-wrap:normal; word-break:normal; line-height:21px; color:rgb(50,62,50); font-size:14px; background-color:rgb(227,235,240); font-family:'Times new roman'!important"> <wbr></wbr></p> <p style="margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; border:0px; list-style:none; word-wrap:normal; word-break:normal; line-height:21px; color:rgb(50,62,50); font-size:14px; background-color:rgb(227,235,240); font-family:'Times new roman'!important"> <span style="word-wrap:normal; word-break:normal; color:rgb(255,0,0)"><span style="color:#000000; word-wrap:normal; word-break:normal">------------------------------------------------------------------------------------------------------------------------------------------</span></span></p> <p style="margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; border:0px; list-style:none; word-wrap:normal; word-break:normal; line-height:21px; color:rgb(50,62,50); font-size:14px; background-color:rgb(227,235,240); font-family:'Times new roman'!important"> <wbr></wbr></p> <p style="margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; border:0px; list-style:none; word-wrap:normal; word-break:normal; line-height:21px; color:rgb(50,62,50); font-size:14px; background-color:rgb(227,235,240); font-family:'Times new roman'!important"> <span style="font-size:24px; word-wrap:normal; word-break:normal; line-height:36px">javax.persistence.validation.mode默认情况下是auto的,就是说如果不设置的话它是会自动去你的classpath下面找一个bean-validation**包,但是找不到,所以beanvalitionFactory错误。<br> 由于javax.persistence.validation.mode的属性值默认是auto,所以会出错。<br><wbr><br> 在hibernate.cfg.xml里将javax.persistence.validation.mode设置为none,就可以避免出错了。<br><wbr><br><wbr><!-- Disable the BeanValidation --><br><wbr><property name="javax.persistence.validation.mode">none</property></wbr></wbr></wbr></wbr></span></p> <p align="center" style="margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; border:0px; list-style:none; word-wrap:normal; word-break:normal; line-height:21px; color:rgb(50,62,50); font-size:14px; background-color:rgb(227,235,240); font-family:'Times new roman'!important"> <span style="word-wrap:normal; word-break:normal; color:rgb(255,0,0)"><span style="color:#000000; word-wrap:normal; word-break:normal">------------------------------------------------------------------------------------------------------------------------------------------</span></span></p> <p align="center" style="margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; border:0px; list-style:none; word-wrap:normal; word-break:normal; line-height:21px; color:rgb(50,62,50); font-size:14px; background-color:rgb(227,235,240); font-family:'Times new roman'!important"> <wbr></wbr></p> <p align="center" style="margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; border:0px; list-style:none; word-wrap:normal; word-break:normal; line-height:21px; color:rgb(50,62,50); font-size:14px; background-color:rgb(227,235,240); font-family:'Times new roman'!important"> <wbr></wbr></p> <p style="margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; border:0px; list-style:none; word-wrap:normal; word-break:normal; line-height:21px; color:rgb(50,62,50); font-size:14px; background-color:rgb(227,235,240); font-family:'Times new roman'!important"> <span style="word-wrap:normal; word-break:normal; color:rgb(255,0,0)"><span style="color:#000000; word-wrap:normal; word-break:normal"><span style="word-wrap:normal; word-break:normal; line-height:30px; font-size:20px">所以,</span><span style="word-wrap:normal; word-break:normal"><span style="word-wrap:normal; word-break:normal; line-height:30px; font-size:20px">Hibernate 3.6以上版本在用<span style="color:#ED1C24; word-wrap:normal; word-break:normal">junit测试时</span>会提示错误:</span></span></span></span></p> <p style="margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; border:0px; list-style:none; word-wrap:normal; word-break:normal; line-height:21px; color:rgb(50,62,50); font-size:14px; background-color:rgb(227,235,240); font-family:'Times new roman'!important"> <span style="word-wrap:normal; word-break:normal; color:rgb(255,0,0)"><wbr></wbr></span></p> <p style="margin-top:0px; margin-bottom:5px; padding-top:0px; padding-bottom:0px; border:0px; list-style:none; word-wrap:normal; word-break:normal; line-height:21px; color:rgb(50,62,50); font-family:simsun; font-size:14px; background-color:rgb(227,235,240)"> <span style="word-wrap:normal; word-break:normal; color:rgb(229,51,51)"><span style="color:#000000; word-wrap:normal; word-break:normal; line-height:30px; font-size:20px">Unable to get the default Bean Validation factory</span></span></p> <p style="margin-top:0px; margin-bottom:5px; padding-top:0px; padding-bottom:0px; border:0px; list-style:none; word-wrap:normal; word-break:normal; line-height:21px; color:rgb(50,62,50); font-family:simsun; font-size:14px; background-color:rgb(227,235,240)"> <wbr></wbr></p> <p style="margin-top:0px; margin-bottom:5px; padding-top:0px; padding-bottom:0px; border:0px; list-style:none; word-wrap:normal; word-break:normal; line-height:21px; color:rgb(50,62,50); font-family:simsun; font-size:14px; background-color:rgb(227,235,240)"> <span style="word-wrap:normal; word-break:normal"><span style="color:#000000; word-wrap:normal; word-break:normal; line-height:30px; font-size:20px">在hibernate.cfg.xml里增加一属性解决:<wbr><wbr><wbr><wbr><wbr><wbr><span style="word-wrap:normal; word-break:normal; color:rgb(255,0,0); font-family:'Times new roman'!important"><wbr></wbr></span></wbr></wbr></wbr></wbr></wbr></wbr></span></span></p> <p style="margin-top:0px; margin-bottom:5px; padding-top:0px; padding-bottom:0px; border:0px; list-style:none; word-wrap:normal; word-break:normal; line-height:21px; color:rgb(50,62,50); font-family:simsun; font-size:14px; background-color:rgb(227,235,240)"> <wbr></wbr></p> <p style="margin-top:0px; margin-bottom:5px; padding-top:0px; padding-bottom:0px; border:0px; list-style:none; word-wrap:normal; word-break:normal; line-height:21px; color:rgb(50,62,50); font-family:simsun; font-size:14px; background-color:rgb(227,235,240)"> <span style="word-wrap:normal; word-break:normal"><span style="color:#000000; word-wrap:normal; word-break:normal; line-height:30px; font-size:20px"><span style="word-wrap:normal; word-break:normal; color:rgb(255,0,0); font-family:'Times new roman'!important"><wbr><property name="javax.persistence.validation.mode">none</property></wbr></span></span></span></p> <p style="margin-top:0px; margin-bottom:5px; padding-top:0px; padding-bottom:0px; border:0px; list-style:none; word-wrap:normal; word-break:normal; line-height:21px; color:rgb(50,62,50); font-family:simsun; font-size:14px; background-color:rgb(227,235,240)"> <span style="word-wrap:normal; word-break:normal"><span style="color:#000000; word-wrap:normal; word-break:normal; line-height:30px; font-size:20px"><span style="word-wrap:normal; word-break:normal; color:rgb(255,0,0); font-family:'Times new roman'!important"><br></span></span></span></p> <p style="margin-top:0px; margin-bottom:5px; padding-top:0px; padding-bottom:0px; border:0px; list-style:none; word-wrap:normal; word-break:normal; background-color:rgb(227,235,240)"> <span style="font-family:Times new roman; color:#ff0000"><span style="font-size:20px; line-height:30px">源自:<a target="_blank" href="http://blog.sina.com.cn/s/blog_6ac4c6cb01018rl2.html">http://blog.sina.com.cn/s/blog_6ac4c6cb01018rl2.html</a></span></span></p> </wbr>
相关推荐
《Bean Validation规范详解》 Bean Validation是Java平台上用于对象验证的一种标准,旨在提供一种简单而强大的方式来确保Java Bean对象的正确性和完整性。本规范文档深入解析了Bean Validation的各个方面,包括其...
Bean Validation是Java世界中一种强大的数据验证框架,它允许开发者在模型对象(Bean)上定义约束,以便在运行时进行验证。这个框架的核心是JSR 303和JSR 349标准,它提供了统一的方式来处理业务逻辑中的数据验证,...
### Java EE 6 中 Bean Validation (JSR 303) 深度解析 #### 一、Bean Validation 概览 **Bean Validation** 是 Java EE 6 中的一项子规范,其官方名称为 JSR 303。该规范旨在为 Java 应用程序提供一种标准化的...
**Bean Validation 技术规范特性概述** Bean Validation 是Java平台上的一个标准,它定义了一种在应用程序中验证对象属性的方法。这项技术的核心是提供了一种声明式的方式,使得开发者可以在不编写大量验证代码的...
BeanValidation(jar,英文手册,中文手册)合集BeanValidation(jar,英文手册,中文手册)合集.rarBeanValidation(jar,英文手册,中文手册)合集.rarBeanValidation(jar,英文手册,中文手册)合集.rarBeanValidation(jar,英文...
### Bean Validation (JSR 303) 中文参考手册概览 《Bean+Validation中文参考手册》是一份详尽的指南,旨在介绍Java EE 6中Bean Validation规范(JSR 303)的核心概念、用法及其实现细节。Bean Validation是一个...
Bean Validation是Java世界中一种强大的数据验证框架,它允许开发者定义和执行针对对象属性的验证规则,极大地提高了代码的可维护性和用户体验。本篇文章将深入探讨Bean Validation技术,以及如何利用它来对Javabean...
Bean Validation 规范对 Java Bean 的验证流程如下:在实际使用中调用 Validator.validate(JavaBeanInstance) 方法后,Bean Validation 会查找在 JavaBeanInstance上所有的约束声明,对每一个约束调用对应的约束验证...
### Java EE 6 Bean Validation:实体验证元数据模型与API #### 概述 Java EE 6中的Bean Validation(JSR 303)作为一项核心功能,为开发者提供了一个强大的实体验证框架。该框架定义了一种元数据模型以及一个API...
《Mybatis JSR303 Bean Validation 插件详解》 在Java开发中,数据验证是必不可少的一个环节,它能够确保输入的数据符合预期的格式和规则,从而避免因数据异常导致的程序错误。Mybatis,作为一款轻量级的持久层框架...
官方版本,亲测可用
官方版本,亲测可用
本教程翻译自Hibernate Validator 4.0 GA指南,并参考JSR 303的规范,本着尽量不用JSR规范之外的特性,文档在编写时尽量不提及底层实现Hibernate Validator,而是关注Bean Validation规范本身。如果有不对之处,请...
在Java开发中,Bean Validation是用于验证对象属性的框架,它提供了一种标准的方式来约束和验证Java类的字段。Bean Validation允许开发者定义一组规则,这些规则会在数据绑定到对象时自动执行,确保输入数据的正确性...
JSR-303 是JAVA EE 6 中的一项子规范,叫做Bean Validation,现在一共有两个规范:BeanValidation1.0(即JSR303)和BeanValidation1.1(即JSR349),主要用于对数据进行校验,确保输入进来的数据从语 义上来讲是正确的。...
如何建立beanvalidation.org 一点点的Git,一点点的Ruby,您将获得本地的beanvalidation.org服务。先决条件获取 获取 > 1.9 获得来管理单独的Ruby环境(可选-您应该知道做什么以及为什么这么做)安装获取来源> git ...
- A printer to run the printer test, set-up as the default printer in Windows. - A CD ROM + 1 Music CD or Data CD to run the CD test. - A CD-RW to run the CD burn test. - A network connection and the ...
**BeanValidation:深入理解Bean验证** BeanValidation是Java平台上的一个标准验证框架,它提供了一种声明式的方式来验证对象的属性。这个项目主要是对BeanValidation 1.1版本的深入研究,通过视频教程来帮助开发者...
Jakarta Bean验证规范该存储库包含Jakarta Bean验证规范。 有关Jakarta Bean验证和正在进行的工作的更多信息,请访问 。建筑文档该规范以AsciiDoc格式编写。 为了将其转换为呈现效果良好的输出,您需要在系统上安装...
This guide was developed as a resource document to assist regulated industry Validation, Quality Assurance, Technical Services, and regulated industry professionals to identify and adapt "best ...