問題タブ [jpql]
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 - JPA: JPQLでJOIN
JOIN
in の使い方を知っていると思っていましJPQL
たが、どうやらそうではありません。誰でも私を助けることができますか?
これは私に例外を与えます
Users
との OneToMany 関係がありGroups
ます。
Users.java
Groups.java
私の2番目の質問は、このクエリが一意の結果を返すとしましょう。
***
上記のクエリ名を表します。とを内部fname
で連結するか、バックを取得しますか?lname
temp
List<String>
orm - jpqlクエリでスーパークラスエンティティのみをクエリするにはどうすればよいですか?
私は次のエンティティを持っています:
と
次のjpqlですべてのサブクラス(RecurringOrderEntity)を見つけることができます。
RecurringOrderEntityのインスタンスではないエンティティのみを検索するためのJPQL構文は何ですか?
JPAプロバイダーとしてEclipselink2.0.0を使用しています。
ありがとう!
orm - 予期しない JPA の結果
私はJPAを学んでいて問題を抱えています。私の主な問題は、私が自分のエンティティに参加し、なぜ私が結果を得ているのかをよく理解していないときです..そして、誰かが私を助けることができれば、私の進歩は本当に遅くなります.
エンティティ
カレッジ
学生
わかりましたので、私の目標は、すべての大学にクエリを実行し、それらに関連するすべての学生を返すことです。名前付きクエリが行うことを期待していた
私の応答は(glassfish Testerインターフェイスを介して呼び出されました)
お分かりのように、この大学はデータベースに 1 回しか存在しませんが、この大学エンティティには 4 人の学生が所属していることがわかります (これが繰り返された理由だと思います)。私が望んでいる解決策は、(sudo xmlのような方法で)のようなものです
ヘルプのヒントやポインタがあれば、大いに歓迎します ありがとう
- - - - - - - - - - - - - - 追加情報 - - - - - - - - - - - ----------
それで、Pascalが親切に示唆したように、メソッドを呼び出すと生成されるSQLロギングを実行しました
DBで上記のスクリプトもテストしましたが、その結果は、JPAが返すと予想されるとおりです。
これは、JPAのセットアップに問題があるに違いないことを意味していると思いますか? 明らかに結果を正しく再パックしていないためです。
再度、感謝します
----------- 更新 --------------------------- Pascals の提案からさらに、データをサーバーに出力しましたログを記録してテスター インターフェイスを切り取ります。
結果は想定どおりですが、Glassfish インターフェイスにはまだ反映されていません。
jpa - @OneToMany によって別のエンティティに接続されたエンティティをクエリする JPQL
もっている:
と
特定の ID と特定の linkId を持つコンテナ内の Content エンティティを取得する JPQL クエリはどれですか?
mysql - 団体通知システムのデータベース設計
グループ通知システムを作成しようとしています。私がグループに属している場合、グループのウォールにコメントすると、すべてのグループ メンバーに通知が送信されます。これが私のデータベース設計です: と の 2 つのテーブルがNotification
ありNotificationRead
ます。
NotificationRead
+userId (String)
+lastRead (int) - default is 0
Notification
...
+time(int)
...
すべてのユーザーが に 1 つのエントリを持ちNotificationRead
、通知を最後に読んだのはいつかを追跡します。ロジックは次のとおりです。特定のユーザーの場合Notification.time > NotificationRead.lastRead
、その通知は未読と見なされます。にgroup A
、まだ読んでいない通知が 4 つあり、それらtime
が7, 8, 9, 10
であるとします。次に、 をクリックすると、 (最大の時間group A
)を設定したので、それらを再度読むことはありません。新しい通知の時間は 11 から始まります。ここで私の問題があります。A、B、Cの3つのグループがあるとしましょう NotificationRead.lastRead = 10
A (4): 最大時間は 10
B (1): 最大時間は 14
C (1): 最大時間は 12
Aをクリックすると、私のNotificationRead.lastRead = 10
、4
Aの隣が消え、1
Bの隣とCがそのままになります。ここで B をクリックすると、私のlastRead
現在は 14 になるので、1
Bの次だけでなく1
、C の次も消去され14 > 12
ます。誰でもこれを解決する方法を考えるのを手伝ってくれますか? 私はすべてを完全に再設計することにオープンです
java - 使用するもの:JPQLまたはCriteria API?
私のJavaアプリケーションは、オブジェクトの永続化にJPAを使用しています。ビジネスドメインは非常に単純です(3つのクラスだけが永続的で、それぞれに3〜5個のプロパティがあります)。クエリも簡単です。問題は、JPQLとCriteriaAPIのどちらのアプローチを使用すべきかということです。
java - JPA クエリ例外
私はで構築されたクエリを持っていますEntityManager
:
しかし、例外があります:
スレッド「AWT-EventQueue-0」での例外 java.lang.IllegalArgumentException: EntityManager でのクエリの作成中に例外が発生しました:
例外の説明: クエリの解析中に構文エラーが発生しました [SELECT * FROM :table WHERE ユーザー名 = :ユーザー名 AND パスワード = MD5( :password)]、1 行目、7 列目: 予期しないトークン [*]。
それを修正する方法?
*
クエリで使用することは不可能ですか?
jpql - Spring Roo で NamedQuery ベースのファインダーを実装するには?
Spring Roo プロジェクトで標準の JPQL ベースのクエリを使用する方法に関する情報が見つかりません。動的ファインダーが複雑なクエリに十分かどうかはわかりません。DAO 層がないという概念を壊すことなく、Spring Roo プロジェクトで @NamedQueries を使用する方法はありますか?
java - jpqlでin-clauseのコレクションアイテムを設定するにはどうすればよいですか?
JPA 2.0には、jpql-queryでin-clauseのコレクションを設定する可能性がありますか?(私はEclipseLinkを使用しています)
次の例は失敗します:
それを行う別の方法はありますか?
java - JPAのIN句を含む位置パラメータ
次のJPQLクエリを評価しようとしています。
はerr.msg
、と呼ばれるクラスから派生したオブジェクトとの関係CSMessage
です。
だから私はこのようなことをします:
私が読んだことによると、これは大丈夫なはずです。ただし、実行すると、次のスタックトレースが表示されます。
よくわかりません。誰かが私が間違っていることの手がかりを持っていますか?
ありがとう...