問題タブ [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.
java - query.setMaxResults()はトップリンクで問題を引き起こします
JPA(トップリンク)を使用していて、JPQLクエリによって返される行数を制限しようとしているので、Query.setMaxResults
メソッドを使用しましたが、次のエラーがスローされます。
クエリは次のとおりです。
substring - ToplinkのJPAの文字列関数(OAS 10.1.3.n)
次のクエリを試しています。
Oracle Application Server 10.1.3.3 にバンドルされているトップリンクをもう一度確認しましたが、次のエラーが表示されました。
SUBSTRING token not recognized
問題は、toplink 10.1.3.n が文字列関数をサポートしていないかということです。(確かJPA1.0ですね。v1.0の仕様ではSUBSTRINGがサポートされているはずなのに、なぜtoplink 10.1.3.nには含まれていないのでしょうか?
ありがとう。
java - JPA TopLinkアノテーションを使用して3番目のテーブルを結合できないのはなぜですか?
私は単純な3つのテーブルを持っています:
- ユーザーは多くのアドレスを持つことができます
- アドレスには多くの電話を含めることができます
したがって、各エンティティクラスに適用されるアノテーションは次のようになります。
ユーザー
住所
電話
上記の注釈は関係を作成する必要があります:
次に、MySQLでいくつかのテストデータを作成し、テストを実行して、「ユーザー」を返すクエリ結果にアドレスと電話への参照が含まれるかどうかを確認しました。
ユーザーとアドレスのみを使用して2つのテーブルで試しましたが、結果は問題ありません。
3番目のテーブルである「phone」テーブルを追加したので、以下に示すエラーが発生します。これは、3つ以上のテーブルを結合するための本当に正しい方法ですか?
テストコード
エラー
java - JPAトップリンクで列レベルの楽観的ロックは可能ですか?
私optimistic locking
はJPAで勉強し@Version annotation
ました.DBにバージョン列を追加し、それがどのように管理されているかEntityManager
など
ドキュメントは、(私自身の言葉で)楽観的ロックはオブジェクトレベルで効果的であると述べています。バージョン定義がエンティティクラスにあるため、確かにそうであることがわかります。
これの意味は:
userA select row_A (db テーブルの行のみ)
userB select row_A
userA は、ユーザー名列の row_A を更新します (ここでバージョンが変更されます)
userB は、username 列の row_A を更新します (optimisticLockException がスローされます)
ここまでは順調ですね。
しかし、ステップ4で考えてみると、
userB update row_A of phoneNumber
例えば。
optimisticLockException がまだスローされることはわかっていますが、オブジェクト レベルではなく列レベルでロックする方法はありますか?
私にとっては、列レベルのロックがあればいいのですが、それが可能であっても、それがどのような不利益をもたらすかはわかりません。
java - GlassFish で TopLink のログ レベルを変更できない
GlassFish 2.1 環境で、TopLink のログ レベルを上げようとしています...生の SQL が生成されていることを確認します。GlassFish 管理コンソールで、次の場所に移動します。
TopLinkのロギング・レベルは、「永続性」プルダウン・メニューによって決定されます。生成された SQL をログにダンプするには、レベルを "SEVERE" から "FINE" (またはそれ以上) に上げます。
他の複数のGlassFishボックスでこれを行ったことがあります。ただし、このボックスでは、[保存] ボタンをクリックすると、値が常に「SEVERE」に戻ります。Admin Console にエラー メッセージは表示されず、何もログに記録されません...新しい値が固執しません。
本当に紛らわしいのは、システム内の他のすべてのカテゴリ (「JMS」、「JTA」など) のログ レベルを正常に更新できることです。この問題は、「持続性」カテゴリに固有のものです。
以前にこの問題に遭遇したことのある人はいますか? 任意の考えをいただければ幸いです。
jpa - 更新操作中にTL_を使用してトップリンクの接頭辞をテーブルに付ける
JPA (トップリンク) で非常に単純な名前付きクエリがあります。
すでにプリロードされているエンティティのキャッシュや有効性については扱いません。ただし、データベースへの接続は制限されたアカウント (INSERT/UPDATE/DELETE のみ) から実行されます。このクエリのトップリンクは、非常に奇妙な SQL を実行する (そして TL_Server が存在しないため失敗する) ようです。
これは何ですか?単純な UPDATE が INSERT にどのように見えるか? Toplink が TL_ を照会する理由
java - Toplink で日付に等しい行を検索する SQL クエリ
Oracleの日付は本当に嫌いですが、私がやりたいのは、行が日付と等しいかどうかを見つけるための基本的なクエリだけです(日付の形式は、Oracleテーブルの17-JAN-11です)。Toplink を使用してクエリを作成しようとしています。
私のコードは次のようなものです:
....
それは常にゼロ行を返します.truncateDate()などを使用する必要があるためだと思いますが、構文がわかりません。誰か助けてくれますか??、Google経由でまともなものが見つからなかったため、この投稿。
更新:これは間違いなく時間と日付に関係があることがわかりました-時間のない行の場合、それ自体の日付だけで、上記のコードは機能しますが、日付値にも時間が含まれている場合は失敗します。
java - データベースからの新しいデータでアプリケーションを更新する際の問題
データベースからデータを取得して表示する Web アプリケーションがあります。今私が抱えている問題は、データベース内のデータを毎時間更新したいということです。これは別のアプリによって行われ、これはすべて正常に機能します。ただし、これが発生し、ユーザーが Web ページを更新すると、新しいデータは表示されません。
これが理にかなっていることを願っています。
見やすいように、アプリからいくつかのコードを提供します。
私の Web アプリケーションは Java を使用して NetBeans で作成されており、データベース内のテーブルにクラスをマッピングする永続ユニットがあります。コンポーネントをHTMLに追加するためにウィケットを使用しています。
// Java ウィケット コード
// 改札の HTML コード
// データベースから設定オブジェクトを取得し、それを上記の Java Wicket コードに返す DAO アプリケーション設定
}
//ApplicationSettings は単なるクラスです。
//毎時コードは、動作してデータベースを更新する別のアプリで実行されました
ユーザーがページを再度ロードすると、上記のJava ウィケット コードを呼び出すため、ページがデータベースからデータを再度取得するため、 gameTimeDaysが正しいと期待できます。しかし、値は変わりません。ページに表示される値は、更新前の古い古い値です。何度更新しても、この値は古い値のままです。ただし、Tomcat サーバーでモジュールを再デプロイまたは再起動すると、その時点で値が正しくなります。
私が見逃しているのは何ですか、これは答えが私をほのめかしているように見える小さな問題です。
サーバーが再デプロイされるまで、値はメモリに保存されているようです。これについて知るために、Javaの内部の仕組みについてあまり知りません。
わかりました、誰かが私のジレンマを手伝ってくれるのに十分な情報を提供したことを願っています.
助けてくれてありがとう。
編集:永続化ライブラリはTopLink Essentialsです
java - DBを使用してJavaを開発するための最良の方法
私はToplinkを使用して、オブジェクトをデータベースに変換したり、その逆を行ったりした経験があります。しかし、これはすべてJSPサイトの一部であり、今ではいくつかのEJB処理を実行しました。ここで私の質問です。JavaDesktopアプリケーションでToplinkのようなものを使用するのは良いですか、それともJavaのネイティブSQLのものを使用するのがより一般的ですか?
多分教授のいくつかの経験。開発者は良いかもしれません。私はクライアントのために真剣にアプリケーションを開発する必要があります。私はJavaでそれを行っており、データをデータベースに保存します。
ありがとう
java - 奇妙なJPAの動作:アプリの起動時にテーブルがクリーンアップされました
ほとんどすべてがタイトルに含まれています...アプリの起動時に永続性は正常に機能し、アプリを閉じても行はDBに残りますが、アプリが読み込まれると行が削除されます...
mysql5SGBDを介して既存のデータベース構造を使用しています。
私のエンティティマネージャーの宣言から来ているようです。これが私のコードの数行です(エンティティマネージャーステートメントとpersistence.xml)
entityManagerステートメント:
persistence.xml:
誰かがこの奇妙な問題の原因について考えていますか?私のentityManagerがそのステートメントで永続コンテキストを再初期化していることをすでに示唆しています...
PS:私はフランス語なので、いくつかの単語を誤用したり、スペルを間違えたりした可能性があります。自由に再定式化を依頼してください。