問題タブ [jpa-1.0]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - HibernateリストJava Persistence 1.0
Hibernateでのリストのマッピングに問題があるようです。私たちのプロジェクトにはクラスがありProfile
、それにはが含まれていList<String>
ます。
Java Persistence 1.0(NO ! )を使用して、アノテーションを使用してHibernateList<String>
でマップ可能ですか?(のような注釈)ElementCollection
@Entity
Java Persistence 2.0はで構成されていることは知っていますElementCollection
が、私たちのプロジェクトにはJavaPersistence1.0しかありません。
jboss5.x - PersistenceProvider が見つからない JBOSS AS 5.1.0 GA の例外
Linux で eclipse を使用して JBOSS AS 5.1.0 GA に製品をデプロイしようとしています。
以前は tomcat 6 で正常に実行されていました。デプロイ中に多くのエラーが発生しました。一つ一つ解いていました。
しかし、PersistenceProvider が原因で ClassNotFoundException が発生するようになりました。
私の製品環境は JPA 1.0 です。私はtoplink-essentials.jar、toplink-essentials-agent.jarを使用しています。(私のトップリンクのバージョンは 2.0 です)
バグの説明を参照してください...
11:46:08,276 ERROR [AbstractKernelController] Error installing to Start: name=persistence.unit:unitName=#Entity state=Create
java.lang.ClassNotFoundException:
oracle.toplink.essentials.PersistenceProvider
from BaseClassLoader@12bb617{VFSClassLoaderPolicy@bfa9d6{name=vfsfile:/opt/jboss-5.1.0.GA/server/default/deploy/iportman_gpl.war/ domain=ClassLoaderDomain@16877f8{name=DefaultDomain parentPolicy=BEFORE parent=org.jboss.bootstrap.NoAnnotationURLClassLoader@1837697} roots=[MemoryContextHandler@19344978[path= context=vfsmemory://3j011-idx41v-hfxjen4j-1-hfxjf9qd-2a real=vfsmemory://3j011-idx41v-hfxjen4j-1-hfxjf9qd-2a], FileHandler@22157425[path=iportman_gpl.war/WEB-INF/classes context=file:/opt/jboss-5.1.0.GA/server/default/deploy/ real=file:/opt/jboss-5.1.0.GA/server/default/deploy/iportman_gpl.war/WEB-INF/classes/]
これは、WAR ファイルであるプロジェクトを展開しようとしているときに表示される唯一のバグです。
実行時に jboss は両方の jar をロードしています。(toplink-essentials.jar、toplink-essentials-agent.jar)。(これはエラーコンソールにも表示されます)
DelegatingHandler@13596360[path=iportman_gpl.war/WEB-INF/lib/toplink-essentials.jar context=file:/opt/jboss-5.1.0.GA/server/default/deploy/ real=file:/opt/jboss-5.1.0.GA/server/default/deploy/iportman_gpl.war/WEB-INF/lib/toplink-essentials.jar]
DelegatingHandler@32401617[path=iportman_gpl.war/WEB-INF/lib/toplink-essentials-agent.jar context=file:/opt/jboss-5.1.0.GA/server/default/deploy/ real=file:/opt/jboss-5.1.0.GA/server/default/deploy/iportman_gpl.war/WEB-INF/lib/toplink-essentials-agent.jar]
それでもエラーが表示されます。
この問題についてGoogleに問い合わせたとき、「2つのPersistenceProviderクラスをロードしているか、jbossがJPAクラスもロードしている可能性があります」などの説明を見ました。
しかし、私はjboss-classloading.xmlで parent-first="false" を設定しました
以下のコードは /WEB-INF/jboss-classloading.xml にあります
/WEB-INF/classes/META-INF/persistence.xml で以下のコードも宣言しました
問題を解決するのを手伝ってください。助けを求めて JBOSS コミュニティに同じ問題を投稿しましたが、応答がありませんでした。
(persistence.xml の詳細な説明とすべての jar のリストについては、Jboss コミュニティ リンクを参照してください)
だから、誰でも私が問題を見つけるのを手伝ってください。どんな提案も私にとって非常に役に立ちます...事前に感謝します..
(下手な英語でごめんなさい)
java - Map を永続化するために JPA 1.0 を使用する @ElementCollection の代替?
永続化されたオブジェクトの 1 つのキーと値のペアとして属性の単純なマップを永続化しようとしています。この問題に関する良いガイドを見つけましたhere . ただし、キーの値がマップされたオブジェクト (「マップされた」プロパティを持つ) である場合のマップ方法のみを示しています。私のシナリオはこれよりも単純です。Map<String, String>
必要なのは、キーと値のペアの aを永続化することだけです。使用できることがわかりましたが@ElementCollection
、JPA 2 でのみサポートされています (私が取り組んでいるプラットフォームはまだ JPA1 です)。
これまでのところ、私のコードは次のようになります。
しかし、私はこのエラーが発生しています:
google-app-engine - GAE および JPA 2.0 の「eclipselink.cache.shared.default」は、従来のエンティティ キャッシング プロパティです。
Googleによると、JPA 2.0を使用できますが、バージョンJPA 1.0のxml記述子を使用する必要があります: https://developers.google.com/appengine/docs/java/datastore/jpa/overview-dn2#Setting_Up_JPA_2_0
したがって、共有キャッシュを無効にしたい場合は、次を使用する必要があります。
警告が発生します:
しかし、JPA 2.0 の JPA 永続化 xml 記述子を使用することはできません。この警告を取り除く方法は? JPA 2.0 用のタグを使用すると、エラーが発生します。お手伝いありがとう!
java - 名前付きネイティブ クエリのパラメーターが JPA 1.0 で検出されない
orm.xml で名前付きネイティブ クエリを使用しています。
特定のテーブルから Id を取得するクエリを作成しました。結果を返したいだけなので、ダミーの結果セット マッピングを作成しました。
次のエラーが表示されます。
名前付きパラメータ [1] が見つかりませんでした
しかし、このパラメータ宣言方法は、文字列連結を使用して Java ファイルにクエリを記述している間は問題なく機能します。何が問題なのですか?
ここに私のorm.xmlの一部があります
しかし、私はエラーが発生します: