1

Vaadin アプリケーションがあり、Spring Data Neo4j 4 をそれに組み込もうとしています。私の Vaadin アプリでは、JPAContainer を使用して一部の MySQL データベースにアクセスしています。JPAContainer は、それにアクセスするために javax.persistence jar に依存しています。SDN 4 を組み込むと、ノードと関係エンティティをリモート Neo4j サーバーに正常に永続化できましたが、JPAContainer は失敗します。これは私が受け取るエラーです:

[EL 情報]: 2015-08-12 08:57:44.44--ServerSession(1000914620)--EclipseLink、バージョン: Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd

[EL 情報]: 接続: 2015-08-12 08:57:46.984--ServerSession(1000914620)--file:/Users/jlam/Downloads/johnson-master/Sprint02d/target/Sprint02d-1.0-SNAPSHOT/WEB- INF/classes/_Basil_v1_PersistenceUnit ログイン成功

2015 年 8 月 12 日 8:58:01 AM com.vaadin.server.DefaultErrorHandler doDefault

SEVERE: java.lang.NoSuchMethodError: javax.persistence.EntityManager.getCriteriaBuilder()Ljavax/persistence/criteria/CriteriaBuilder; com.vaadin.addon.jpacontainer.provider.LocalEntityProvider.createFilteredQuery(LocalEntityProvider.java:379) で com.vaadin.addon.jpacontainer.provider.CachingSupport.getIds(CachingSupport.java:477) で com.vaadin.addon.jpacontainer .provider.CachingSupport$FilterCacheEntry.getAllIds(CachingSupport.java:408) com.vaadin.addon.jpacontainer.provider.CachingSupport.getAllEntityIdentifiers(CachingSupport.java:750) com.vaadin.addon.jpacontainer.provider.CachingMutableLocalEntityProvider.getAllEntityIdentifiers (CachingMutableLocalEntityProvider.java:106)

MySQL データベースへの接続に成功したと表示されます。JPAContainers のサイズを取得して確認しましたが、データベースのサイズと一致しています。問題は、SDN 4 には他のバージョンの javax.persistence 依存関係も付属しており、このバージョンでは CriteriaBuilder メソッドが存在しないことだと思います。JPAContainer が混乱し、依存関係フォルダーにリストされている javax.persistence-2.1.0.jar ではなく、SDN 4 javax.persistence 依存関係を使用しています。

SDN 4 の依存関係を削除すると、すべて正常に動作します。私の理論が正しいかどうか、またはこの問題を克服する方法についてのアイデアはありますか? ありがとう!

4

1 に答える 1