問題タブ [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 - WLS 10 のクライアントで Class not found 例外 (org.apache.openjpa.enhance.PersistenceCapable) がスローされる
WLS 10 を使用してアプリケーションを開発しています耳のアプリケーションの特定の jar から EJB に接続 (ルックアップ) しようとすると、クラス「org.apache.openjpa.enhance.PersistenceCapable」のタイプ「ClassNotFoundException」の例外が発生します。クライアントにスローされた
この回避策の理由を見つけた人はいますか?
前もって感謝します
java - 複数の検索フィールド
20 以上の検索フィールドがあり、任意の組み合わせが有効である場合、最善のアプローチは何でしょうか。openJPA またはネイティブ SQL でそれを行う特別な方法はありますか? どんなアイデアでも役に立ちます.Thanks.
java - JPA多対多参照の問題
私は3つのテーブルを持っています。AvailOptionPlanTypeAssocと呼ばれるManyToManyアソシエーションテーブルを持つAvailableOptionsおよびPlanTypeRef。トリミングされたスキーマは次のようになります
そして、Javaコードは次のようになります。
この問題は、AvailableOptionsを選択してそれ自体に結合するときに発生します。バックトレースからの次のSQLコードに注意してください。2番目の内部結合はPlanTypeRefにある必要があります。
java - JPAを使用するときに、新しいオブジェクトの自動生成されたIDを効率的に見つける方法は?
@Idで注釈が付けられた属性があります。IDは、オブジェクトを永続化するときに自動的に生成されます。これは、オブジェクトを永続化する前にID値が定義されていないことを意味します。永続化した後、(データベース内に)IDがありますが、残念ながら、DBからリロードしない限り、フィールドはnullのままです。生成されたIDを見つける簡単な方法はありますか?またはそれ以上:フィールドに書き込まれるように構成するには?
前もって感謝します
java - OpenJPA-クエリの前にフラッシュしない
クエリの前にopenjpaをフラッシュするように設定するにはどうすればよいですか。データベースのいくつかの値を変更するとき、これらの変更をアプリケーションに伝播したいと思います。
私はpersistence.xmlでこの設定を試しました:
何か案が?ありがとう
java - SQLで使用されていないJoinColumn名
データベースに正確な外部キー制約を設定せずに、多対1の関係をマッピングすることに問題があります。MySqlデータベースでOpenJPA実装を使用していますが、問題は、挿入ステートメントと選択ステートメント用に生成されたSQLスクリプトにあります。
RootId列を含むLegalEntityテーブルがあります(とりわけ)。また、null許容ではないLegalEntityId列があり、LegalEntityの「RootId」列を参照する値が含まれているはずのAddressテーブルがありますが、データベース制約(外部キー)は設定されていません。
アドレスエンティティがマップされます:
SELECTステートメント(LegalEntityのアドレスをフェッチする場合)とINSERTステートメントが生成されます。
上記のステートメントからテーブル属性を省略すると、次のように生成されます。
したがって、LegalEntityIdはどのステートメントにも含まれていません。
そのような参照に基づいて関係を持つことは可能ですか(データベースに外部キーがない場合、主キー以外の列へ)?他に何か足りないものはありますか?
前もって感謝します。
java - データ全体を削除せずに ORM スキーマを置き換える
JPA プロバイダーとして OpenJPA を使用しています。データ全体を削除せずに (エンティティが変更されたときに) データベース テーブルを再作成する方法はありますか? エンティティが変更されると、ストア内のすべてのテーブルを削除して作成すると、明らかにその中のデータが失われます。何らかの方法でデータを保持するためのツールまたは製品はありますか?
ありがとう、ウディ
java - 値にスペースを含む SQL クエリ
値にスペースが含まれる where 句の書き方:
実際に私はopenJPAを使用しており、パラメーターを設定する必要があります。設定する値にはスペースがあります。例: String somevalue="firstname lastname"; query.setparameter(somevalue);
私はこれをしましたが、うまくいきません。任意の提案をいただければ幸いです。ありがとう。
java - JPA/Hibernate 一括 (バッチ) 挿入
これは、jpa一括挿入に関するいくつかのトピックを読んだ後に作成した簡単な例です.2つの永続オブジェクトUserとSiteがあります. 1 人のユーザーが複数のサイトを持つことができるため、ここでは 1 対多の関係があります。ユーザーを作成し、いくつかのサイトをユーザー アカウントに作成/リンクしたいとします。Site オブジェクトに一括挿入を使用する意思があることを考慮して、コードは次のようになります。
しかし、このコードを実行すると (jpa 実装プロバイダーとして hibernate を使用しています)、次の sql 出力が表示されます。
つまり、「実際の」一括挿入が機能しないということですか、それとも混乱していますか?
このサンプル プロジェクトのソース コードは次のとおりです。これは maven プロジェクトなので、ダウンロードして mvn install を実行するだけで、出力を確認できます。
更新しました:
Ken Liu が親切にアドバイスした後、サイト オブジェクト ID の自動生成を無効にしました。
今、デバッグ出力に次の行があります。
デバッグ: org.hibernate.jdbc.AbstractBatcher - 実行バッチ サイズ: 2
できます!
java - Websphere 7 + EJB3 でのメモリ リーク、ClassMapping の多数のインスタンス
私の英語でごめんなさい、私はスペイン語を話します。最近、WebSphere 7.0.0.9 を使用して、アプリケーションを ejb 2.x から ejb3 (約 300 エンティティ) に移行しました。
10 時間の作業の後、システムは OutOfMemoryError でクラッシュしました。
コアダンプを分析すると、org.apache.openjpa.jdbc.meta.ClassMapping クラスの多くのインスタンスが表示されます (添付のスクリーンショットを参照してください)。
代替テキスト http://img204.imageshack.us/img204/7273/phd2jdbccfg.png
犯人は Value クラスの ValueListeners のリストだと思いますが、よくわかりませんし、この問題を解決する方法もわかりません。
ありがとう