疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Java培训,如何用hibernate查询时间


 

  Hibernate目前使用很广的框架,hibernate是一个非常优秀的框架,也是软件开发公司最常用的开发框架!那么怎样用hibernate查询时间呢?java培训将为你介绍一下情况!

  如果说数据库中数据的存储是用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 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 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 }

  以上介绍的就是关于hibernate如何查询时间的介绍,希望能对各位正在学习java的同学带来帮助,现在学习java的人很多,那么怎样才能学会java呢?其实,很多软件工程师都认为,学习java最好就是到正规的java培训机构参加java培训,只有这样才能学到真正的知识!