0

シンプルなユーザーをjpa hibernate dbに保存しようとしています。したがって、動作することがわかっているpersistence.xmlがあります(gwtアプリをデプロイせずに簡単なテストを実行した場合)。

問題は、ユーザー インターフェイスでテストすると、persist メソッドが次のエラーをスローすることです: (これが原因だと思います。persistence.xml が見つかりません)

[エラー] javax.persistence.PersistenceException: [PersistenceUnit: isw2.tasks] Unable to >configure EntityManagerFactory

... かくかくしかじか

[エラー] 原因: org.hibernate.HibernateException: デフォルトの Bean を取得できません > 検証ファクトリ

... もっと bla bla bla..

[エラー] 原因: 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) で

.....

[エラー] 原因: 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 = Persistence .createEntityManagerFactory("isw2.tasks"); em = emf.createEntityManager();

    em.getTransaction().begin();

    em.persist(u);

    em.getTransaction().commit();
    em.clear();
    em.close();

`

そして、私たちにとって最も便利な私のプロジェクト スケルトン: (persistence.xml ファイルがあることを確認してください!)

ここに画像の説明を入力

私は maven を使用しており、codehaus プラグインを使用して Web アプリをデプロイしています。

事前に専門家に感謝します;)

4

1 に答える 1

2

例外メッセージUnable to find a default providerは、休止状態が検証プロバイダーを見つけられないことを示しています。

Hibernate Validator jar はランタイム クラスパスにありますか? また、Hibernate Validator 4 以降を使用する必要があることにも注意してください。

于 2011-08-24T19:41:19.640 に答える