我试图在我的jpa hibernate db中保存一个简单的用户。 所以我有一个persistence.xml 我知道它有效(如果我执行一个简单的测试而不部署gwt应用程序)。
问题是,当我用我的用户界面测试它时,persist方法抛出下一个错误:(我认为这是因为找不到persistence.xml)
[错误] javax.persistence.PersistenceException:[PersistenceUnit:isw2.tasks]无法>配置EntityManagerFactory
... bla bla bla
[ERROR]引起:org.hibernate.HibernateException:无法获取默认Bean>验证工厂
...更多bla bla bla ..
[ERROR]引起:java.lang.reflect.InvocationTargetException
... [错误]引起:org.hibernate.HibernateException:无法构建默认的ValidatorFactory
[错误] org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:383)
[错误] org.hibernate.cfg.beanvalidation.TypeSafeActivator.applyDDL(TypeSafeActivator.java:109)
.....
[ERROR]引起:javax.validation.ValidationException:无法找到默认提供程序
[错误]在javax.validation.Validation $ GenericBootstrapImpl.configure(Validation.java:264)
[错误]在javax.validation.Validation.buildDefaultValidatorFactory(Validation.java:111)
[错误] org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.ja
这是我所知道的方法:
`EntityManagerFactory emf =持久性 .createEntityManagerFactory( “isw2.tasks”); em = emf.createEntityManager();
em.getTransaction().begin();
em.persist(u);
em.getTransaction().commit();
em.clear();
em.close();
`
对我们来说最有用的,我的proyect骨架:(看到persistence.xml文件就在那里!)
我正在使用maven并使用codehaus插件部署Web应用程序。
先谢谢专家;)
答案 0 :(得分:2)
异常消息Unable to find a default provider
表明hibernate无法找到验证提供程序。
您的运行时类路径上是否有Hibernate Validator jar?另请注意,您需要use Hibernate Validator 4 or later。