問題タブ [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.
jpa - JPQLクエリのヘルプ
Message
提供されたリストにあり、現在のユーザーによるものGroups
ではないをクエリする必要があります。Deactivated
プロパティとエンティティを説明するためのいくつかの擬似コードを次に示します。
これが私が何を照会する必要があるかについての考えです、それは私がどのように行うべきかわからない最後のAND節です(私は複合NOT IN
式を作りました)。非アクティブ化されたメッセージをuserIdでフィルタリングすると、複数のmessageIdが発生する可能性があります。行のサブセットにmessageIdが含まれていないかどうかを確認するにはどうすればよいですか?
注:...
事前にgroupIdの数がわからないため、そこにあります。私はそれらをとして受け取るCollection<String>
ので、それらをトラバースして、JPQLに動的に追加する必要があります。
jpa - JPAクエリとタイムスタンプを比較するにはどうすればよいですか?
JPQLクエリに対して、過去30日以内の結果のみが返されるようにする必要があります。次に例を示します。
受け取ったエラーは次のとおりです。
ヘルプ!
java - JPAで今日が誕生日のユーザーを探す
ユーザーのテーブルがあり、アプリが電子メールを送信できるように、今日誕生日の人のリストを取得しようとしています。
ユーザーは次のように定義されます
今日生まれた人を返すメソッドがあります
これは問題なく、今日生まれた人を見つけるためのものですが、実際にはそれほど役に立ちません。そのため、年に関係なく、今日生まれたすべてのユーザーを見つける方法に苦労しています。
MySQLを使用すると、次のように使用できる関数があります
しかし、私はそれに相当するJPAを見つけるのに苦労しています。
Spring 3.0.1 と Hibernate 3.3.2 を使用しています
java - JPAを使用した孤児の削除
CascadeType.PERSISTを使用する1対1の関係があります。これにより、パフォーマンスに反映される程度まで、削除されていない大量の子レコードが時間の経過とともに蓄積されてきました。ここで、データベースをクリーンアップして、親によって参照されていないすべての子レコードを削除するコードを追加したいと思います。現在、400K以上のレコードについて話しているので、同じ問題が発生しないようにするために、すべてのお客様のインストールでコードを実行する必要があります。
最善の解決策は、必要なレコードを削除する名前付きクエリを実行することだと思います(2つのデータベースをサポートしているため)。これは、JPQLでどのように記述する必要があるため、問題が発生する場所です。
私が望む結果は、次のsqlステートメントのように定義できますが、残念ながらMySQLでは実行されません。
hibernate - これは可能ですか:結果にlistプロパティを含むJPA / Hibernateクエリ?
Hibernateで、このJPQL/HQLクエリを実行したいと思います。
userDTOクラス:
ユーザーエンティティ:
しかし、Hibernate 3.5(JPA 2)を起動すると、次のエラーが発生します。
結果としてリスト(u.securityRoles)を含む選択は不可能ですか?2つの別々のクエリを作成する必要がありますか?
hibernate - JPA/Hibernate とめちゃくちゃな名前付きパラメーター
私の単純なクエリは、JPQL では次のようになります。
しかし、Hibernate SQL の出力は次のようになります (H2 と MySQL の両方)。
ここでの問題は、Hibernate の既知のバグであり、プリペアド ステートメントのパラメーターが台無しになります。したがって、私の場合、親とキーが混在しています。
ネイティブ クエリ以外の回避策について何か提案はありますか?
java - JPQ出力を制限するにはどうすればよいですか?
クエリによって返されるエンティティの数を、JPAクエリ内の特定の値に制限する必要があります(JPQLを介して)。特に:
たとえば、sql(mysql構文)では、次のようにします。
出てくる唯一の解決策は、単にすべてのエンティティを取得してから、最初のエンティティを選択することです。これは問題外です。何か案は?
orm - JPQL / SQL:単一の列でgroup byを使用してテーブルから*を選択するにはどうすればよいですか?
テーブルのすべての列を選択したいのですが、行の1つの属性(例ではCity)に個別の値を設定したいと思います。カウントなどの余分な列は必要ありません。結果の数が限られているだけで、JPQLクエリで結果を直接制限することはできないようです。
元のテーブル:
私が市で明確なことをした場合、望んでいた結果:
それを行うための最良の方法は何ですか?ご協力ありがとうございました。
java - JPQL (JPA) 検索部分文字列
エンティティに含まれている可能性のある(サブ)文字列でエンティティを検索するという単純な問題に直面しています。
たとえば、ユーザー user1、usr2、useeeer3、user4 がいて、検索ウィンドウに「use」と入力すると、user1、useeer3、user4 が返されると予想されます。
あなたは私が今何を意味するか知っていると確信しています. JPA(JQPL)に何か構築はありますか?名前付きクエリで何らかの方法で WHERE を使用して検索するとよいでしょう。「SELECT u FROM User u WHERE u.nickname contains :substring」のようなもの
jpql - jpqlで利用できる日付関数はありますか?
次のようなクエリを書きたい:-
JPQLでこれを行うにはどうすればよいですか?利用可能な日付解析機能はありますか?