Hibernate的HQL中in引數設定

2021-09-07 13:42:59 字數 595 閱讀 1730

平時經常用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。

假設lista;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引數設定

Hibernate中的HQL查詢語句

hibernate查詢語言是物件導向的查詢語言,其結構與sql查詢類似,不同的是,hql查詢的主體是實體化類而不是資料表。hql差詢提供了一種應用與資料庫之間的抽象,從而提高了可移植性。hql查詢的基本事例 query query session.createquery select new use...

hibernate中的HQL和QBC查詢

1.讀取src下hibernate.cfg.xml配置檔案 configuration cft new configuration configuration configure cft.configure 2.建立sessionfactory工廠 sessionfactory sessionfac...

hibernate 的 HQL學習筆記

hql之佔位查詢 1.方案一 匿名佔位符 test public void test02 2.方案二 name 引數名稱繫結 test public void test03 3.方案三 name 引數名稱繫結 物件屬性 test public void test04 hql語句之動態查詢 1.動態查...