`
stephen4留雨
  • 浏览: 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"&gt;<br><wbr><wbr><wbr><wbr>&lt;property name="dataSource" ref="dataSource" /&gt;<br><wbr><wbr><wbr><wbr>&lt;property name="hibernateProperties"&gt;<br><wbr><wbr><wbr><wbr><wbr><wbr>&lt;props&gt;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>&lt;prop key="hibernate.show_sql"&gt;true&lt;/prop&gt;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>&lt;prop key="hibernate.format_sql"&gt;true&lt;/prop&gt;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>&lt;prop key="hibernate.dialect"&gt;org.hibernate.dialect.MySQLDialect&lt;/prop&gt;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span style="color:#FF0000; word-wrap:normal; word-break:normal">&lt;prop key="javax.persistence.validation.mode"&gt;none&lt;/prop&gt;<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>&lt;/props&gt;</wbr>

<wbr><wbr><wbr><wbr><wbr>&lt;/property&gt;<br><wbr><wbr><wbr><wbr>&lt;property name="packagesToScan" value="com.bolo.examples.entity.*" /&gt;<br><wbr><wbr>&lt;/bean&gt;</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> &lt;persistence ...&gt;<wbr><wbr><br><wbr>&lt;persistence-unit ...&gt;<wbr><br><wbr><wbr><wbr>...<wbr><br><wbr><wbr><wbr>&lt;properties&gt;<wbr><br><wbr><wbr><wbr><wbr><wbr>&lt;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"/&gt;<wbr><br><wbr><wbr><wbr>&lt;/properties&gt;<wbr><br><wbr>&lt;/persistence-unit&gt;<wbr><br> &lt;/persistence&gt;<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">&lt;prop key="javax.persistence.validation.mode"&gt;none&lt;/prop&gt;<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>&lt;!-- Disable the BeanValidation --&gt;<br><wbr>&lt;property name="javax.persistence.validation.mode"&gt;none&lt;/property&gt;</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>&lt;property name="javax.persistence.validation.mode"&gt;none&lt;/property&gt;</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规范详解》 Bean Validation是Java平台上用于对象验证的一种标准,旨在提供一种简单而强大的方式来确保Java Bean对象的正确性和完整性。本规范文档深入解析了Bean Validation的各个方面,包括其...

    Bean Validation示例代码

    Bean Validation是Java世界中一种强大的数据验证框架,它允许开发者在模型对象(Bean)上定义约束,以便在运行时进行验证。这个框架的核心是JSR 303和JSR 349标准,它提供了统一的方式来处理业务逻辑中的数据验证,...

    javaee6 Bean Validation中文pdf参考手册

    ### Java EE 6 中 Bean Validation (JSR 303) 深度解析 #### 一、Bean Validation 概览 **Bean Validation** 是 Java EE 6 中的一项子规范,其官方名称为 JSR 303。该规范旨在为 Java 应用程序提供一种标准化的...

    Bean Validation 技术规范特性概述

    **Bean Validation 技术规范特性概述** Bean Validation 是Java平台上的一个标准,它定义了一种在应用程序中验证对象属性的方法。这项技术的核心是提供了一种声明式的方式,使得开发者可以在不编写大量验证代码的...

    BeanValidation(jar,英文手册,中文手册)合集

    BeanValidation(jar,英文手册,中文手册)合集BeanValidation(jar,英文手册,中文手册)合集.rarBeanValidation(jar,英文手册,中文手册)合集.rarBeanValidation(jar,英文手册,中文手册)合集.rarBeanValidation(jar,英文...

    Bean+Validation中文参考手册

    ### Bean Validation (JSR 303) 中文参考手册概览 《Bean+Validation中文参考手册》是一份详尽的指南,旨在介绍Java EE 6中Bean Validation规范(JSR 303)的核心概念、用法及其实现细节。Bean Validation是一个...

    Bean Validation技术实现对Javabean的校验

    Bean Validation是Java世界中一种强大的数据验证框架,它允许开发者定义和执行针对对象属性的验证规则,极大地提高了代码的可维护性和用户体验。本篇文章将深入探讨Bean Validation技术,以及如何利用它来对Javabean...

    Hibernate Bean Validation jar包

    Bean Validation 规范对 Java Bean 的验证流程如下:在实际使用中调用 Validator.validate(JavaBeanInstance) 方法后,Bean Validation 会查找在 JavaBeanInstance上所有的约束声明,对每一个约束调用对应的约束验证...

    JavaEE6 Bean Validation提供了实体验证元数据模型与API

    ### Java EE 6 Bean Validation:实体验证元数据模型与API #### 概述 Java EE 6中的Bean Validation(JSR 303)作为一项核心功能,为开发者提供了一个强大的实体验证框架。该框架定义了一种元数据模型以及一个API...

    Mybatis JSR303 bean validation plugin

    《Mybatis JSR303 Bean Validation 插件详解》 在Java开发中,数据验证是必不可少的一个环节,它能够确保输入的数据符合预期的格式和规则,从而避免因数据异常导致的程序错误。Mybatis,作为一款轻量级的持久层框架...

    beanvalidation-tck-tests-1.1.0.cr4-sources.jar

    官方版本,亲测可用

    beanvalidation-standalone-container-adapter-1.1.0.beta3.jar

    官方版本,亲测可用

    ★Bean Validation【Hibernate Validator 4.0 GA】中文参考手册!★

    本教程翻译自Hibernate Validator 4.0 GA指南,并参考JSR 303的规范,本着尽量不用JSR规范之外的特性,文档在编写时尽量不提及底层实现Hibernate Validator,而是关注Bean Validation规范本身。如果有不对之处,请...

    bean-validation:了解Bean验证的工作原理

    在Java开发中,Bean Validation是用于验证对象属性的框架,它提供了一种标准的方式来约束和验证Java类的字段。Bean Validation允许开发者定义一组规则,这些规则会在数据绑定到对象时自动执行,确保输入数据的正确性...

    validation-api-1.1.0.Final.jar

    JSR-303 是JAVA EE 6 中的一项子规范,叫做Bean Validation,现在一共有两个规范:BeanValidation1.0(即JSR303)和BeanValidation1.1(即JSR349),主要用于对数据进行校验,确保输入进来的数据从语 义上来讲是正确的。...

    beanvalidation.org:Bean验证网站

    如何建立beanvalidation.org 一点点的Git,一点点的Ruby,您将获得本地的beanvalidation.org服务。先决条件获取 获取 &gt; 1.9 获得来管理单独的Ruby环境(可选-您应该知道做什么以及为什么这么做)安装获取来源&gt; git ...

    BURNINTEST--硬件检测工具

    - 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:深入理解Bean验证** BeanValidation是Java平台上的一个标准验证框架,它提供了一种声明式的方式来验证对象的属性。这个项目主要是对BeanValidation 1.1版本的深入研究,通过视频教程来帮助开发者...

    beanvalidation-spec:Bean验证规范

    Jakarta Bean验证规范该存储库包含Jakarta Bean验证规范。 有关Jakarta Bean验证和正在进行的工作的更多信息,请访问 。建筑文档该规范以AsciiDoc格式编写。 为了将其转换为呈现效果良好的输出,您需要在系统上安装...

    Introduction to the Computer System Validation

    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 ...

Global site tag (gtag.js) - Google Analytics