首頁 > 資料庫 > mysql教程 > 如何有效率地使用 JPQL 的 IN 子句與多個值?

如何有效率地使用 JPQL 的 IN 子句與多個值?

Mary-Kate Olsen
發布: 2024-12-30 18:10:10
原創
1003 人瀏覽過

How Can I Efficiently Use JPQL's IN Clause with Multiple Values?

JPQL IN 子句擴充:利用清單和集合

JPQL 提供 IN 子句來根據一組特定值過濾實體。然而,對於涉及任意數量值的場景,明確指定每個參數可能會變得乏味且低效。本文探討了使用陣列、清單或集合等容器來擴展 IN 子句的值的可能性。

為了直接回答這個問題,JPQL 2.0 引入了將集合作為參數傳遞給 IN 子句的支援。這樣就無需手動指定每個值並簡化了程式碼結構。

以下Java 程式碼使用List 示範了此功能:

String qlString = "select item from Item item where item.name IN :names";
Query q = em.createQuery(qlString, Item.class);

List<String> names = Arrays.asList("foo", "bar");

q.setParameter("names", names);
List<Item> actual = q.getResultList();

assertNotNull(actual);
assertEquals(2, actual.size());
登入後複製

值得注意的是,雖然EclipseLink 支援此語法,Hibernate 3.5.1 需要將參數在括號中(一個已括號中(一個已括號中括號知的錯誤)。

以上是如何有效率地使用 JPQL 的 IN 子句與多個值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板