Hibernnate根据日期查询

方法一:传统方式,即指定开始时间和结束时间


 SQL:SELECT * FROM t_user t WHERE t.times>'2017-07-03 15:19:13';
  
 HQL:
String hql="from User u where u.times>?";
    Query query= session.createQuery(hql);
    query.setParameter(0, format.parse("2017-07-30 15:19:13"));
    List list=query.list();


方式二: 
 使用时间戳查询:比较时间就成为整数比较了,建立索引后能大大提高效率






  SQL:select * from t_user t where UNIX_TIMESTAMP(t.times)>UNIX_TIMESTAMP('2017-07-30 15:19:13');


  HQL:  
  long l=format.parse("2017-07-30 15:19:13").getTime()/1000;
String hql="from User u where UNIX_TIMESTAMP(u.times)>?";
 Query query= session.createQuery(hql);
 query.setParameter(0, l);
    List list=query.list();

你可能感兴趣的:(Hibernate)