問題タブ [openjpa]
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 - oneToManyまたはmanyToOneのJPAクエリは、両方とも機能する必要がありますか?
私はいくつかのコードを古いOpenJPA実装からより新しいものに移植しています。
OpenJPA 2.1.0-SNAPSHOTバージョンID:openjpa-2.1.0-SNAPSHOT-r422266:990238
以前に機能していたクエリはこの新しい環境で失敗しましたが(正確な失敗の詳細は後で)、クエリの再キャストは問題なく機能しました。違いは、1対多のクエリのどちら側から開始するかにあります。私の質問は2つの部分に分かれています。
- そのようなクエリを開始するための「正しい」側面はありますか?両方のクエリが機能することを期待しますか?
- 両方が機能することを期待する場合、私が見ている失敗について説明できますか。
簡潔にするために、ここのクラスはかなり削減されています。関係の片側:
反対側
動作するクエリ:
そうでないもの
私が得るエラーは
私は、データベースとしてDB2を使用して、Windows上のWebSphere8.0で実行しています。
java - OpenJPA 2.0.1 でキャッシングを無効にする方法 (編集: BoneCP の問題)
OpenJPA 2.0.1 でキャッシングを無効にできません。
persistence.xmlに次のプロパティを設定しました。
アプリを起動すると、これらのプロパティの正しい値がログアウトされることがわかります。
これをテストするための基本的なエンティティを作成しました。これには、テーブルを毎秒クエリするだけのメイン メソッドがあります。反復ごとに新しい EntityManager を作成しています。これを空の TEST テーブルに対して実行し、その後手動でデータをテストに挿入すると、次のようになります。
新しいデータを取得することはありません(ただし、プログラムを再起動すると取得されます)。
私は何を間違っていますか?
EDIT1 : while ループ内で新しい EntityManagerFactory を作成すると機能しますが、DataCache と QueryCache を false に設定しているため、これを行う必要はなく、費用がかかることを理解しています。
EDIT2 : BoneCP を接続プール マネージャーとして使用していましたが、DHCP または C3P0 の使用に戻すと、問題はなくなりました。理由は定かではありませんが...
EDIT3 : これは、BoneCP に使用していた構成です。
java - OpenJPA JPQL の問題における双方向の OneToMany/ManyToOne マッピング
私は双方向の関係を持つ2つのクラスを持っています:
私はmysqlを実行しています-正常なテーブルセットのように見えるものが生成されます:
ただし、JPQLクエリを実行すると
エラーが発生します:
何らかの理由で「walls」が Room クラスのフィールドとして表示されません。このコードは休止状態で動作します。OpenJPA に移行しようとしていますが、このエラーに遭遇しました。私のpersistence.xmlで両方のクラスが定義されていることを確認しました。
hibernate - JPA は、データベースに外部キー制約のないエンティティ間の @OneToMany マッピングをサポートしていますか?
これはレガシー データベース用です。この関係にある 2 つのデータベース テーブルには、子テーブルの列に親テーブルの PK が保持されていても、外部キー制約はありません。
子テーブルの適切な列に外部キー制約がない場合、JPA は @OneToMany マッピング (双方向または一方向) をサポートしますか?
java - Eclipse での openJPA クラスの拡張
このガイドでopenJPAクラスを強化しようとしています: Enhancement-with-eclipse.html
何らかの理由で、同じセットアップが Windows でも機能しますが、Ubuntu ではこの問題が発生します。
誰かが私が間違っていることを見ていますか? persistence.xml を buildpath に追加しました。私はガイドに従いましたが、それでもこの例外が発生します:
すべての助けに大いに感謝します!
jpa - openjpa が optimisticklockexception をスローする
私はopenjpaとjpaを試しています。私が持っているのは、データベース内の対応するテーブルとして 1 つのエンティティ クラスだけです。エンティティの属性の 1 つはユーザー名であり、db テーブルの対応する行には varchar2(20) があります。私の主な方法では、私が永続化しようとしたものと、ユーザー名が20を超えるエンティティのインスタンスです。私がやっているのは
他の種類の例外を取得することを期待してこれを試しましたが、なぜ楽観的クロック例外が発生するのかわかりません。
ロック設定はありません。つまり、プロパティをロックするためにデフォルト値を使用しています。
ここで何が起こっているか知っている人はいますか?
mysql - MySQL データベースへのコンテナー管理接続のための OpenJPA 構成
persistence.xmlファイルの次の構成があります。
そして、home.xmlファイルの次のコンテナー管理構成 (..\tomcat\conf\catalina\localhost ディレクトリに保存されます):
MySQL Workbench を使用してデータベースに直接接続しようとしましたが、動作しますが、コンテキスト構成を介して接続できない理由がわかりません。
JSF 2を使用してTomcat 7でアプリを実行しています。
上記の構成で接続できないのはなぜですか? 必要に応じて、エンティティ、ejb、およびコントローラーのコードを投稿できます。助けてください、過去3日間これに行き詰まっています...
jpa-2.0 - テーブル作成時のOpenJPAフォワードマッピングツールの順序列の指定
persistence.xmlに次のプロパティを設定しました。
私が正しく理解していれば、これはOpenJPA MappingToolに、対応する管理対象エンティティーのテーブルが見つからない場合にデータベースに適切なテーブルを生成する必要があることを通知するものです。
私が理解できなかったのは、EntityManagerへの参照を取得した後にMappingToolが保持する列の順序を指定する方法があるかどうかです。
MappingDefaultsはそのようなプロパティを提供していません(少なくとも私はそれを見つけることができませんでした)。これを行う唯一の方法は、これをサポートするためにOpenJPAAPIの一部を再実装することです。
そのオプションは現在私たちにとって実行可能ではなく、列の順序を指定する方法についてのアイデアやガイドラインがあれば、それを求めます。
私たちの環境は、次のスタックで構成されています。
- OpenJPA 2.0.1
- JDK 1.6.23
- 春3.0.5
- Maven 2.2.1
- IBM DB2 9.7 Express-C
また、Googleにそのような質問がほんの一握りしかないことに少し驚いています。
hibernate - OpenJPA registerColumnType()と同等
このSOの質問(JPA / HibernateDDL生成;CHARとVARCHAR)に関して、OpenJPA2.0.1にHibernateで見つかったこのメソッドと同等の機能があるかどうか疑問に思いました。
私はOpenJPADBDictionaryでそのおおよその対応を見つけようとしましたが、何も見つかりませんでした。そのため、その動作をエミュレート/ si- / mulateする方法について誰かが何か考えを持っているなら、私は大いに義務付けられます。
java - OpenJPA での自動トランザクション
クラス、場所があります。Location には BorderPoint オブジェクトのリストが含まれていますが、巨大なリストになる可能性があります (20,000 は不可能ではありません)。このためのテーブルは、LOCATION と BORDERPOINT です。
最初に、ESRI Shapefile からのインポートを介して Location を入力します。コードスニップは次のとおりです。
List には非常に多くの BorderPoint オブジェクトがありますが、Location オブジェクトで persist を呼び出してそれらを保存しているだけなので、BorderPoints を永続化するためにある種のバッチ サイズを自動的に設定できますか?