Hibernate如何使用in關鍵字

Hibernate雖然使用的是HQL語句,有時難免會覺得不夠智能,其實沒有發現Hibernate設計者的全面性;
比如in關鍵字,正確的使用方法是:

//獲取id集合
List<Integer> menuIds =  this.getSession().createSQLQuery(concatSql).setParameter(0,userId).list();
//查詢菜單對象
        String hql = "from SystemMenu where id in (:menuIds) and enable=:enabled";
        return this.getSession().createQuery(hql).setParameterList("menuIds", newIds).setParameter("enabled", Boolean.TRUE).list();

使用中請注意傳入List的泛型,必須和SystemMenu對象的id是同類型,否則會引發轉換錯誤;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章