問題タブ [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 - OpenJPA 書き込みの自動コミット
私は OpenJPA を使用しており、すべての書き込み/挿入操作で Autocommit を使用するように構成したいと考えています。
現時点では、これを行う必要があります:
私ができるようにしたいのはこれです:
このプロパティをtrueに設定しています:
手がかりはありますか?!
java - Apache Wicket、OpenJPA、Spring / ROO
Spring ROOアプリケーションをセットアップし、永続性をOpenJPAに設定し、いくつかのエンティティーを作成しました。次に、SpringMVCをApacheWicketに置き換えました。スタッフは正常に機能しているようで、顧客エンティティのリストを正常に表示しました。
次は、顧客の編集ビューでした。今のところ、フォームモデルとしてOpenJPAエンティティを直接使用するWicketフォームを作成したため、エンティティクラスにSerializableを実装する必要がありました。
さて、OpenJPAの永続性を正しく実装する方法がわかりません。今、私が得ているのは次のとおりです。
これは機能しますが、Customerオブジェクトごとに1回だけです。何とかして。つまり、フォームを1回送信すると、新しい顧客(.persist())と既存の顧客(.merge())の両方で機能します。ただし、同じ顧客に対してフォームを再度送信すると、このエラーが発生します(ここにいくつかの改行を追加しました)。
私の質問は、OpenJPAを維持する正しい方法は何ですか、そしてなぜそのエラーが発生するのですか?
Wicketに関して:取り外し可能なCustomerモデルを使用して別のWicket IModelを作成する必要がありますが、それがこれらの問題の原因である可能性がありますか?
アドバイスをたくさんありがとう!
java - JPA 1.0 エラー: 名前は認識されたエンティティーまたは識別子ではありません。既知のエンティティ名: []
単純な JPA 1.0 コードを実行しようとすると、次の例外が発生します。原因は何ですか?
java - Ant タスクからテーブル列を削除する - OpenJpa
org.apache.openjpa.jdbc.ant.MappingToolTask を使用すると、ドメイン モデルのクラスと db スキーマを同期させることができると言われています。したがって、次のスクリプトを Ant タスクとして使用することで、persistance.xml の特定のデータベースに新しい列を追加できました。
このスクリプトは、ドメイン クラスに新しい属性を追加するたびに新しい列を追加します。しかし、ドメインクラスからそれらを削除しても、対応する列は削除されません。単一の ant スクリプトを使用して両方 (追加/削除) の同期をアーカイブする方法はありますか?
java - JPA: @ManyToOne 関係のデフォルトの列名マッピング
クラスがある場合:
と:
プロパティの順序がマップされる行名は?
order_id, ORDER_ID or Order_id?
( @JoinColumn(name='order_id') の省略は意図的です)
java - RuntimeUnenhancedClasses で OpenJPA を使用するタイプのメタデータが見つかりません
JPA(OpenJPA)を使用しています。私の中に次のエントリがありますpersistence.xml:
Serviceofferingにリストされているクラスもありますpersistence.xml。JPA 関連のコードを実行しようとすると、次の例外が発生します。何が問題になる可能性がありますか?
java - JPAを使用して複数の行を更新する
columNAMEの値が「PCNAME」であるテーブルのすべてのフィールドを更新したいと思います。更新したいテーブル名はXYZです。一部のフィールドのみを更新し、一部は変更しないでください。
これは、NAME ='PCNAME'の行が多数あるため、単一の行ではなく、多くの行に影響します。JPAを使用してこれを行うにはどうすればよいですか。このテーブルにエンティティクラスが関連付けられています。
java - JPAを開く-列定義バイナリ
OpenJPAの列のタイプをbinary(5)として設定しようとしているので、次の宣言を使用しています。
ただし、列は常にblobとして作成されます。
これを機能させるための手がかりはありますか?
logging - WAS 7 にデプロイされたときに OpenJPA がログに記録されない
アプリケーションを WebSphere Application Server 7 にデプロイしました。アプリケーション サーバーでデフォルトの OpenJPA 1.2.2 ライブラリを使用していますが、ログに記録できません。persistence.xml にこれがあります。
ただし、log4j を使用してログを記録したいという事実は無視されます。log4j の設定を削除しても、WAS のログとトレースのログ チャネルは変更されません。念のためすべてをログに記録するようにすべて設定しましたが、機能しません。
ただし、JPA Logging に関する WAS Infocenter のドキュメントには、 「トラブルの回避: アプリケーション サーバーで提供される永続化プロバイダーを使用するコンテナー管理の永続化ユニットで定義されている場合、「openjpa.Log」プロパティは無視されます」と記載されています。この場合、アプリケーション サーバーの標準トレース仕様を使用する必要があります。
これは、ロギングを機能させるためだけに JPA 実装を変更する必要があるということですか? もしそうなら、これはかなりずさんなようです。
java - インスタンスを PersistenceCapable にキャストしようとして失敗しました。強化されていることを確認する
初めて OpenJPA 2.0.1 を試してみましたが、次のようになりました。
OpenJPA docsによると、実行時に基本的な拡張機能を取得するために何もする必要はありません。
2.5。OpenJPA エンハンサーの省略
OpenJPA では、エンハンサーを実行する必要はありません。エンハンサーを実行しない場合、OpenJPA は、実行環境に応じて、状態を追跡するためのいくつかの代替手段のいずれかにフォールバックします。
Java 6 クラスの再変換:
アプリケーションを Java 6 環境で実行している場合、OpenJPA は ClassTransformer を動的に登録しようとします。この ClassTransformer は、永続データへのアクセスを追跡するためにその場で永続クラスを再定義します。さらに、OpenJPA は永続クラスごとにサブクラスを作成します。クエリを実行するかリレーションをトラバースすると、OpenJPA はサブクラスのインスタンスを返します。これは、instanceof 演算子が期待どおりに機能することを意味しますが、o.getClass() は作成したクラスではなくサブクラスを返します。この動作を取得するために何もする必要はありません。OpenJPA は、実行環境が Java 6 クラスの再変換に対応しているかどうかを自動的に検出します。
これが機能しない理由の手がかりはありますか?どうもありがとう...
(openjpa.Id警告が発生する理由のボーナスポイント-そのようなプロパティを設定していません...)