整合SSH框架的时候,如果通过@After的方式取得sessionFactory(SessionFactory sessionFactory)无异常,但将获取sessionFactory封装成一个静态方法,调用时则会出现类似于以下异常的异常。该异常在JUnit4测试单元下会出现,使用Tomcat部署则正常。至于调试代码时为什么不部署到服务器而是使用JUnit4,请自己谷歌。此异常的蛋疼之处在于你可能确定自己的代码没有任何问题(即使Copy Hibernate官方代码),但仍会抱异常,而谷歌上几乎没有此异常的解决方案,即使有,也是不知所云说缺少Jar包的英语帖子,所以把自己的解决方案贴出来,当然,如果你有更好的解决方案,欢迎交流。主要异常:
Code:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/config/spring/db.xml]: Invocation of init method failed; nested exception is org.hibernate.HibernateException: Unable to get the default Bean Validation factory。。。。 。。。。
将工程中的Java EE 6 Library从build path中移除
原因:
myelipse BUG
解决程度: 成功