問題タブ [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 - JPQLサブクエリを実行するにはどうすればよいですか?
JPQLでこのSQLクエリと同等のことを行うことは可能ですか?
sql - JPQLクエリを単純なJavaオブジェクトに割り当てる方法は?
jpqlの結果の結果を単純なクラスのJavaオブジェクトに割り当てる必要があります
私はこのようなものを持っています
このSQLクエリの結果をなんとかして保存する必要があります。例
//任意のテーブルにすることができますSELECTDISTINCTc.table_id、c.name、NULL AS description FROM anyTable
JPQLでこれを行い、結果をオブジェクトに割り当てるにはどうすればよいですか?
java - 再帰的な JPA クエリ?
JPA 2 には、再帰クエリを実行するためのメカニズムがありますか?
これが私の状況です: 整数フィールド x を含むエンティティ E があります。また、@OneToMany を介してマップされたタイプ E の子を持つこともできます。私がやりたいのは、主キーで E を見つけ、その値 x とそのすべての子孫の x 値を取得することです。単一のクエリでこれを行う方法はありますか?
私は Hibernate 3.5.3 を使用していますが、Hibernate API に明示的な依存関係を持たないようにしたいと考えています。
編集:この項目によると、Hibernate にはこの機能がないか、少なくとも 3 月にはありませんでした。したがって、JPAがそれを持っている可能性は低いようですが、確認したいと思います.
java - JPQL MySQLSyntaxErrorException:SQL構文にエラーがあります
ユーザーとグループの2つのエンティティがあります。
それはManyToMany単方向です。テーブルuserとを生成しuser_groupます。今、私は簡単なクエリを持っています:
これは例外をスローします:
java - 参照テーブルへのJOINを回避することによるJPAクエリの最適化?
テーブルempを想像してください:
およびテーブルdept :
emp.dept_codedept.codeForeignKey として参照します。
これらのテーブルは JPA エンティティにマップされ、ForeignKey は関連付けとしてモデル化されます。
次のデータが与えられた場合:
サポート部門のすべての従業員を返す JPA クエリを作成したいと思います。サポート部門 ( )の PrimaryKey を知っていると仮定します。SUPT
それは次のようになると思います:
質問:
Department キーSUPTコードはempテーブルで使用できるため、Department Entity への JOIN を回避して JPA クエリを書き換える方法はありますか?
これにより、パフォーマンスが向上しますか? または、JPA 実装 (Hibernate など) は、データベースがdeptテーブルに結合するのを回避するのに十分スマートですか?
sql - 洗練された JPQL 文字列クエリ
データベースの文字列フィールドに対して非常に高度なクエリを実行しようとしています。私はJPQLの経験があまりないので、助けを求めようと思いました。
データベースに というフィールドがありますFILE_PATH。フィールド内には、次のFILE_PATHような値があります。
- 「C:\temp\files\filename.txt」
- 'file:\\\C:\testing\testfolder\innerfolder\filename2.txt'
ファイル名のみでユーザー指定のクエリから検索できるようにする必要があります。そのため、単純にSELECT Table FROM Table AS t WHERE t.filePath LIKE '%:query%'. ファイル パスとファイル名は動的データであるため、そこにプレフィックス文字列をハードコーディングすることはできません。これにはかなり混乱しましたが、JPQL にはこの要件を処理できる可能性のある文字列式がいくつかあることを知っています。
FILE_PATH基本的に、フィールドの最後の '\' の後に来るものについて、指定されたクエリに一致するすべての行を返す必要があるだけです。これは可能ですか?
助けてくれてありがとう。
編集:使用されているデータベースは SQL Server です。
java - 列挙型のJPQLLIKE式
JPQLは列挙型に対してLIKE式を実行できますか?
列挙型フィールドバーを持つエンティティFooがある場合、MySQLで次のように実行できます(バーはMySQL列挙型として保存されます)...
ただし、JPQLの対応するクエリ...
...文句を言う...
java - JPA Query MONTH/YEAR 関数
MONTHSQLクエリと同じように関数を使用してJPAクエリを作成するにはどうすればよいですか?
クエリに上記のパターンを使用すると、エラーが発生します: unexpected token - MONTH.
oracle - Oracle CLOB と JPA/Hibernate ORDER BY?
MySQL と SQL Server で正常に動作する JPQL クエリがあります。しかし、Oracleでは失敗します
その理由は、Oracle が CLOB 列での ORDER BY をサポートしていないためと思われます。
これに対するJPQLの回避策はありますか?
java - ConstraintViolationExceptionを回避するために、結合テーブルの行を自動的に削除するにはどうすればよいですか?
これは非常に単純な質問であるか、少なくとも単純な答えがあるはずです。しかし、私は実際にはデータベースの専門家ではなく、Hibernateの学習曲線のかなり下にあります。そうは言っても、セットアップは次のとおりです。
2つのエンティティ間の単方向の多対多の関係を考えてみましょFooうBar。
(以下のタイプミスはご容赦ください。以下は明らかに実際のコードを簡略化したものです)
FooDTO.java:
BarDTO.java:
TSQL側では、結合テーブルは次のように設定されます。
を完全に削除しようとすると、結合テーブルの行を最初に削除していないためBarDTO、ConstraintViolationExceptionが表示されます(duh)。
質問:
- を削除するときに、Hibernateに結合テーブルの行を自動的に削除させることはでき
Barますか?どのように? - そうでない場合は
Foo、特定のを含むすべてのを選択して、関連する各のセットからBarそれを削除するにはどうすればよいですか?BarFooBar
後者の質問に関しては、これはaまたはCriteria APIのいずれかを使用して実行できると思いますNamedQueryが、そのようなクエリの記述方法や適用する制約については具体的にわかりません。名前付きクエリは次のようになります。
しかし、パラメーターがエンティティとして宣言されていないため、barIdパラメーターがどこに配置されるのか、またはテーブルでどのように結合するのかがわかりません。FooBar(補足として、名前付きクエリに参加しようとした以前の問題も思い出します-名前付きクエリに参加することは不可能ですか?)