Hibernate框架之HQL查詢與Criteria 查詢的區別


Hibernate框架提供了HQL查詢和Criteria 查詢。下面對這兩種查詢分別做個例子。也好對這兩種查詢方法有個大概的了解。就用房屋信息表做例子,查詢所有房屋信息。

 

HQL語句查詢所有房屋信息:

/*
 * 查詢所有房屋
 * 
 * (non-Javadoc)
 * @see Dao.HouseDao#selecthouse()
 */
    public List<House> selecthouse() {
        // TODO Auto-generated method stub
                   //獲取連接
         Session session = HibernateUtil.getSession();
                      //查詢房屋實體類
        String hql="from House";
        Query q=cr=session.createQuery(hql);
         
          List list = cr.list();

          return list;
      
    }

Criteria 語句查詢所有房屋信息:

/*
 * 查詢所有房屋
 * 
 * (non-Javadoc)
 * @see Dao.HouseDao#selecthouse()
 */
    public List<House> selecthouse() {
        // TODO Auto-generated method stub
         Session session = HibernateUtil.getSession();
         //創建Criteria對象
         Criteria cr=session.createCriteria(House.class);
                         List list = cr.list();

          return list;
      
    }

通過兩者的比較,我們可以看出:

1、HQL語句必須寫相應的HQL查詢語句,而Criteria 語句直接把實體類對象放入類中,省略了查詢語句。

2、HQL查詢,必須具備一定的SQL基礎。而Criteria查詢不需要任何SQL基礎。

3、HQL查詢比Criteria查詢用的范圍更廣,建議使用HQL查詢。但也要對Criteria查詢有所了解。

您可以通過點擊 右下角 的按鈕 來對文章內容作出評價, 也可以通過左下方的 關注按鈕 來關注我的博客的最新動態。 

如果文章內容對您有幫助, 不要忘記點擊右下角的 推薦按鈕 來支持一下哦   

如果您對文章內容有任何疑問, 可以通過評論或發郵件的方式聯系我: 2276292708@qq.com

如果需要轉載,請注明出處,謝謝!!

 


免責聲明!

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



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