[解決済み] HQLまたはJava Persistence Query LanguageにおけるIN句
2023-07-04 18:34:53
質問
以下のようなパラメータ付きのJPA、またはHibernateのクエリを持っています。
SELECT entity FROM Entity entity WHERE name IN (?)
パラメータをArrayList<String>として渡したいのですが、可能でしょうか?Hibernateの電流は私に、次のように伝えます。
java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.lang.String
これは全く可能なのでしょうか?
回答
: パラメータとしてのコレクションは、"のような名前付きパラメータでのみ機能します。
:name
のようなJDBCスタイルのパラメータではなく、"
?
のようなJDBCスタイルのパラメータではありません。
どのように解決するのですか?
Hibernateの
Query
オブジェクトを使用していますか、それともJPAですか?JPAの場合、問題なく動作するはずです。
String jpql = "from A where name in (:names)";
Query q = em.createQuery(jpql);
q.setParameter("names", l);
Hibernateの場合は、setParameterListを使用する必要があります。
String hql = "from A where name in (:names)";
Query q = s.createQuery(hql);
q.setParameterList("names", l);
関連
-
javaの非静的メソッドを静的に参照することができない
-
Javaがテキストファイルを読み込む
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
プロジェクトの依存関係を解決できない。
-
Javaクラスが "Error occurred during initialization of boot layer "というエラーで実行される。
-
X11 DISPLAY変数が設定されていない」問題の解決方法
-
maven レポート エラー 解決不可能な親POM
-
春ブート複数のデータソースの管理(atomikos)同じサーバーホスト上の複数のプロジェクトを開始する複数のJava - jarのエラーソリューション
-
アクセス制限の解決方法: ---- in Java
-
switch case文のcaseの後の列挙定数は列挙型なし
-
ApiModel と @ApiModelProperty の使用法
-
swagger2 モデルが表示されない モデルが見つからない @ApiModel アノテーションが表示されない問題
-
[解決済み] JPAクエリにIN句リストを追加する