用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 閱讀(2889) 評論(0)  編輯  收藏


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


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

          導航

          統計

          公告

          welcome to my place.

          常用鏈接

          留言簿(5)

          我參與的團隊

          隨筆分類

          隨筆檔案

          新聞分類

          石頭JAVA擺地攤兒

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          @duduli
          主站蜘蛛池模板: 平乐县| 德庆县| 舟曲县| 重庆市| 浦县| 云和县| 富宁县| 大方县| 宾阳县| 贵定县| 周口市| 弋阳县| 南昌县| 五常市| 健康| 西平县| 柳河县| 达日县| 许昌市| 翁牛特旗| 卓尼县| 枣阳市| 东乡族自治县| 赫章县| 商洛市| 阿拉善右旗| 牟定县| 肇源县| 修武县| 鄯善县| 杭锦旗| 分宜县| 阳信县| 泾源县| 西吉县| 昌吉市| 渝中区| 冕宁县| 芦溪县| 集贤县| 曲靖市|