問題タブ [toplink]
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.
oracle - jpaでOracleシーケンスを使用する(トップリンク)
Oracle データベースにシーケンス オブジェクトがあります。
Web アプリケーションに jpa(toplink) を使用しています。すべての db オブジェクトの基本クラスがあります。
このクラスは、いくつかのエンティティによって継承されます。アプリケーションを起動し、いくつかのエンティティを db に永続化/マージした後、それらの PK が (予想される 100 ではなく) 51 で始まることがわかります。
その後、データベースに移動し、シーケンス オブジェクトの DDL を表示して、次のように変更されていることを確認します。
なぜそうなるのですか?PK 51、52 ... などのいくつかのエンティティと、101 で始まるシーケンスがあります。
AS-GlassFish 3.1.1
jpa - Oracle TopLink の addBatchReadAttribute に相当する JPA
JPA を使用しており、オブジェクトのコレクションがクエリから返されると、外部キーを介して関連付けられた「子」オブジェクトごとに個別のクエリが実行されます。
たとえば、Authorization エンティティ クラスでは、次の Client オブジェクトがマップされています。
10 個の承認が返されると、10 個のクライアント クエリが実行されます。TopLink では、ReadAllQuery クラスの addBatchReadAttribute() メソッドを使用して、この数を 1 にすることができました。TopLinkのドキュメントによると、「バッチ化されたパーツのいずれかにアクセスすると、パーツはすべて単一のクエリで読み取られます。これにより、パーツに必要なすべてのデータを(n)クエリではなく単一のクエリで読み取ることができます."
これは完全に機能し、10 個の ID を持つ IN 句を使用した単一のクエリが得られました。
私が re について読んだこと: JPA は、バッチ結合または次のようなものに向けて私を指摘しました:
この戦略は、クエリの数を減らすのに役立ちます。
- しかし、それはまた、より多くの結合をもたらし、おそらくいくつかのクエリで速度が低下しました (?)
- そして、TopLink の呼び出しほど大幅には効果がないように思われました。
WHERE 句に IN を含む単一のクエリを使用する戦略を取得する方法はありますか?
前もって感謝します。デイブ
java - TopLinkクエリから最初のn行をフェッチするにはどうすればよいですか?
最適化の目的で、サブクエリで最初のN個の結果をフェッチし(最初のN個のID値を取得しています)、メインクエリでサブクエリのID値の完全な行をフェッチして順序付けます。私が今持っているのは
私がこれまでに試しているのは、次のようなユーザー定義関数を使用することです。
これは文字通り私が立ち止まった場所なので、これは機能しませんが、私がどちらの方向に向かっているのかを示すことができます。このようなことも可能ですか?私はJava1.4とtoplink10gを使用しています。
java - toplink session.refreshObject()は1対多のマッピングをどのように処理しますか?
メソッドを使用して、Session.refreshObject(Object o)
メソッドを持つオブジェクトを更新していますgetList()
。このリストは、1対多のマッピングを使用したトップリンクによって提供されます。オブジェクトを更新するときに、このリストも更新する必要があります。これは可能ですか、それとも何か他のものを更新する必要がありますか?
前もって感謝します!
java - getTranslatedSQLString を使用して、Toplink によって生成されたクエリを取得するにはどうすればよいですか?
私がやっていることは、ID 値のリストを取得するサブクエリを作成することです。次に、メイン クエリが必要なすべての値を取得し、順序付けを追加します。
私が持っているのはこれです:
このコードの問題は、TranslatedSQLString を返さないことです。 と同じ結果を返しますquerySub.getSQLString()
。私が見たすべてのサンプルコードで、行を新しいオブジェクトとしてインスタンス化するか、参照を取得した場所から書くことを気にしませんでしたが、いずれにせよ、これは機能しません (TopLink のバージョンの問題?)。DatabaseRow オブジェクトを自分で設定する必要があると思いますが、オンラインで例が見つかりません。
java - TOPLinkSchemaManagerの機能
トップリンクの仕組みを知りたいと思いましたSchemaManager
。私はを持っており、DataBaseSession
それからスキーママネージャーを作成します。トップリンクにもいくつかのマッピングがあります。だから私の質問は:
schemaManager.getColumninfo()
マッピングに関連しない列に関する情報も提供されますか?
java - TopLinkのreadAllQueryのorder byで条件「NULLS LAST」を使用する方法
こんにちは、オーダーで NULLS LAST 句を使用するトップリンクでクエリを作成する必要があります。基本的に、これは私がやりたいクエリです:
そして、これは私のコードです:
NULLS LAST 句を挿入する方法がわかりません。データベースとしてOracle 9iのtoplink 3.0を使用しています。
jpa - JPQL createQuery の使用時に返される古いデータ
JPA/Eclipse TopLink の使用。
以下に示すように、(createNativeQuery を使用して) テーブルを更新しています。
DB(MySQL)に更新が反映される
以下に示すように(createQueryを使用して)取得する場合:
ただし、返される ResultList は常に更新前のデータです。しかし、createQuery の代わりに createNativeQuery を使用すると、最新の更新されたデータが返されます。createQuery メソッドで考えられるエラーは何ですか?
java - jDev 10.1.3.4からjDev 11.2.1に移行する際のToplink MapおよびOfflineデータベース・ファイルのエラー
jDev 10.3.1.4 (同等のバージョンの OC4J と Toplink 3.0 を使用) から最新の jDev 11.2.1 にアプリケーションを移行しています。私は多くの問題に遭遇しています。
まず最初に一般的な質問です。詳細な移行ガイドはありますか?これはお尻の完全な痛みになるようです (表現で申し訳ありません)
もう少し正確な質問です。
- オフライン データベース ファイルにエラーがあります。次のメッセージが表示されます: オフライン データベース ファイルごとに、ファイル "TIPO_STAG.table" のオフライン データベース ファイルが存在しません。データベース接続を構成しましたが、何が起こっているのかわかりません。
- Toplink マップを開くと、次の例外が表示されます。
ローカル例外スタック: 例外 [TOPLINK-6044] (Oracle TopLink - 11g リリース 1 (11.1.1.5.0) (ビルド 110305)): oracle.toplink.exceptions.QueryException 例外の説明: 行 [DatabaseRecord( )] クエリの実行中に null であることが検出されました。主キーに null を含めることはできません。問合せ: ReadAllQuery(oracle.toplink.workbench.mappingsmodel.database.MWLegacyTable) at oracle.toplink.exceptions.QueryException.nullPrimaryKeyInBuildingObject(QueryException.java:837) at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java: 418) oracle.toplink.internal.descriptors.ObjectBuilder.buildObjectsInto(ObjectBuilder.java:748) で oracle.toplink.internal.queryframework.DatabaseQueryMechanism.buildObjectsFromRows(DatabaseQueryMechanism.java:170) で oracle.toplink.
もちろん、これらの問題は古いバージョンにはありませんでした。ご協力いただきありがとうございます
java - ユーザー定義ディレクトリから休止状態構成ファイルを読み取る方法
Hibernate を使用してデータベースからレコードを取得するための API を提供する jar ファイルを提供する必要があります。
たとえば、私はAPIを持っています:
c:\hibernate-cfg.xml
以下に示すように、構成ファイルの場所を完全なパスで渡してみました。
というエラーが表示されますc:\hibernate-cfg.xml is not found
。
同じことを達成するためのいくつかの指針を教えてください。