用hibernate查詢一段時間的記錄

          這是在一個群里討論的問題。
          方法很多:如果說數據庫中數據的存儲是用date類型的話,改怎么做,如果說做數據遷移的話又該怎么做?
          最終的討論方案在用字符串存儲格式上比較好,畢竟各個數據庫對時間的存儲存在差異。
          一下是我用hibernate中的HQL,和QBC兩種檢索方式對一段時間內的數據進行檢索。

           1 package com.duduli.li;
           2 
           3 import java.util.Date;
           4 import java.util.Iterator;
           5 import java.util.List;
           6 
           7 import org.hibernate.Criteria;
           8 import org.hibernate.Session;
           9 import org.hibernate.Transaction;
          10 import org.hibernate.criterion.Criterion;
          11 import org.hibernate.criterion.Expression;
          12 
          13 public class Select {
          14 
          15     /**
          16      * @param args
          17      */
          18     public static void main(String[] args) {
          19         // TODO Auto-generated method stub
          20         Session session = HibernateSessionFactory.getSession();
          21         Transaction tran = session.beginTransaction();
          22 /*        
          23  *         采用HQL的方式,
          24         Date begin = java.sql.Date.valueOf("2009-03-24");
          25         Date end = java.sql.Date.valueOf("2009-03-26");
          26         List<A> result = session.createQuery("from A a where a.date > :beginTime and a.date <= :endTime").setTimestamp("beginTime", begin).setTimestamp("endTime", end).list();
          27         for(A a : result){
          28                 System.out.println(a.getId());
          29                 System.out.println(a.getTitle());
          30                 System.out.println(a.getDate());
          31         }
          32         */
          33         
          34 //        采用QBC的方式。
          35         Date begin = java.sql.Date.valueOf("2009-3-24");
          36         Date end = java.sql.Date.valueOf("2009-3-26");
          37         Criteria criteria = session.createCriteria(AbstractA.class);
          38         Criterion creterion = Expression.between("date", begin, end);
          39         List<A> result = criteria.add(creterion).list();
          40         for(A a : result){
          41             System.out.println(a.getId());
          42             System.out.println(a.getTitle());
          43             System.out.println(a.getDate());
          44         }
          45     }
          46 }

          posted on 2009-03-23 14:14 duduli 閱讀(2892) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2009年3月>
          22232425262728
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導航

          統計

          公告

          welcome to my place.

          常用鏈接

          留言簿(5)

          我參與的團隊

          隨筆分類

          隨筆檔案

          新聞分類

          石頭JAVA擺地攤兒

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          @duduli
          主站蜘蛛池模板: 大理市| 渑池县| 吉安市| 越西县| 常德市| 赣州市| 墨脱县| 化德县| 秦皇岛市| 长汀县| 屯昌县| 石林| 内黄县| 台前县| 宜城市| 罗源县| 永修县| 汾阳市| 科技| 米脂县| 曲松县| 新宁县| 深水埗区| 明溪县| 紫云| 宕昌县| 宣汉县| 井冈山市| 承德县| 平江县| 吉木萨尔县| 崇明县| 温泉县| 盘山县| 定兴县| 霞浦县| 金昌市| 泊头市| 拜泉县| 浦江县| 青州市|