您的位置:首页 > 其它

Hibernnate根据日期查询

2017-07-03 16:53 120 查看
方法一:传统方式,即指定开始时间和结束时间

 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<User> 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<User> list=query.list();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: