Hibernate離線查詢對象


creteria的創建是依賴session的,使用session.createCriteria來創建。

查詢條件一般是由web頁面傳遞過來的,查詢條件由web層傳給service層,再傳遞給dao層,組裝查詢條件到Criteria執行查詢,這樣執行的話,前端的每一種查詢都需要有對應的dao查詢。

離線的Criteria創建的時候是脫離session創建的,這樣可以在web層去組裝查詢條件,可以在web層創建criteria,然后將Criteria傳遞給Service層和dao層。這樣設計的好處是dao方法不用有多個。

在web層組裝DetachedCriteria,拼裝條件與普通Criteria一致

DetachedCriteria dc=DetachedCriteria.forClass(Customer.class);
dc.add(Restrictions.idEq(6l));

 

傳遞到dao層之后

 1         Session session = HibernateUtils.openSession();
 2         Transaction tx = session.beginTransaction();
 3         //----------------------------------------------------
 4         Criteria c = dc.getExecutableCriteria(session);
 5         
 6         List list = c.list();
 7         
 8         System.out.println(list);
 9         //----------------------------------------------------
10         tx.commit();
11         session.close();        

 


免責聲明!

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



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