Hibernate的HQL中in參數設置


平時經常用Hibernate,由於習慣表間不建立關聯,所以HQL查詢時候經常要用in語句。

    我最常用的情況有2種:

   1、in后是個子查詢,如 FROM A WHERE A.ID IN (SELECT B.AID FROM B WHERE ...),這樣是沒問題的,如果A.ID 和B.AID是相同的數據類型。

   2、in的參數如果已知了,可以直接拼接在后面 如FROM A WHERE A.ID IN (1,2,3,4...)。

   3、上面的情況下,通常(1,2,3,4...)都是作為參數傳遞過來的,可能是數組或者List。

    假設List<Integer> a;a里面已經有數據了,則HQL查詢條件可以為:   

String hql="FROM A WHERE A.ID IN (:alist)";  
Query query = getSession().createQuery(hql);  
query.setParameterList("alist", a);  

    另外,query.setParameterList中的第二個參數,還可以是數組類型,如int[] a,不要被方法名稱迷惑。我也是最近剛學會的這種in參數設置


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM