【问题标题】:GWT doesn´t find my persistence.xmlGWT 找不到我的 persistence.xml
【发布时间】:2011-08-24 13:16:30
【问题描述】:

我正在尝试在我的 jpa hibernate db 中保存一个简单的用户。 所以我有一个我知道它可以工作的 persistence.xml(如果我执行一个简单的测试而不部署 gwt 应用程序)。

问题是,当我用我的用户界面测试它时,persist 方法会抛出下一个错误:(我认为这是因为找不到 persistence.xml)

[错误] javax.persistence.PersistenceException: [PersistenceUnit: isw2.tasks] 无法>配置 EntityManagerFactory

...呜呜呜呜

[ERROR] 原因:org.hibernate.HibernateException: Unable to get the default Bean >Validation factory

...更多bla bla bla..

[ERROR] 原因:java.lang.reflect.InvocationTargetException

... [错误] 原因:org.hibernate.HibernateException:无法构建默认的ValidatorFactory

[ERROR] at org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:383)

[ERROR] at org.hibernate.cfg.beanvalidation.TypeSafeActivator.applyDDL(TypeSafeActivator.java:109)

.....

[错误] 原因:javax.validation.ValidationException:找不到默认提供程序

[错误]在 javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:264)

[错误]在 javax.validation.Validation.buildDefaultValidatorFactory(Validation.java:111)

[ERROR] at 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();

`

对我们最有用的,我的项目骨架:(看到persistence.xml文件在那里!)

我正在使用 maven 并使用 codehaus 插件部署网络应用程序。

在此先感谢专家;)

【问题讨论】:

    标签: gwt hibernate-validator


    【解决方案1】:

    异常消息Unable to find a default provider 表明hibernate 找不到验证提供程序。

    您的 Hibernate Validator jar 在您的运行时类路径中吗?另请注意,您需要use Hibernate Validator 4 or later

    【讨论】:

    • 哦!就是这个!,我使用的是 Hibernate Validator 3.1 而不是最后一个版本。感谢您抽出宝贵时间@Tahir。
    猜你喜欢
    • 2015-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-19
    • 2011-06-18
    • 2015-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多