用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 }

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索java
, hibernate
, 存储
, date
, session
import
hibernate查询记录数、hibernate 复制记录、hibernate 获取记录数、hibernate 获得记录数、hibernate 删除记录,以便于您获取更多的相关知识。

时间: 2024-08-03 00:57:18

用hibernate查询一段时间的记录的相关文章

MS SQL Server带有时间的记录怎样查询

原文:MS SQL Server带有时间的记录怎样查询 比如某一张表[A]有一个保存日期包含时间字段[B],如果以这个段[B]作查询条件对数据记录进行查询.也我们得花些心思才能查询到我们想得到的记录. 现在我们需要查询这天2014-06-21的所有记录: SELECT * FROM [A] WHERE [B] = '2014-06-21' 上面的语法,将查询不到任何记录.也许会有网友想到使用BETWEEN: SELECT * FROM [A] WHERE [B] BETWEEN '2014-06

struts2-spring配置方式管理hibernate事务的情况下,每过一段时间产生的错误

问题描述 spring配置方式管理hibernate事务的情况下,每过一段时间产生的错误 项目的背景是struts2+spring+hibernate3 weblogic服务器集群环境 数据库oracle spring管理hibernate 采用配置的方式,配置在了service层. 数据库连接方面使用了hibernate自带的连接池(用其他第三方连接池也试了,问题依旧) 现象:每过一段时间便会报错:(部分) jdbc rollback failed ... TransactionExcepti

weblogic部署服务,c3po+hibernate应用,程序跑一段时间后内存溢出

问题描述 weblogic部署服务,c3po+hibernate应用,程序跑一段时间后内存溢出 Exception in thread "C3P0PooledConnectionPoolManager-Helper Thread-#0" java.lang.OutOfMemoryError: Java heap space at oracle.jdbc.driver.OracleStatement.prepareAccessors(OracleStatement.java:870) a

oracle-Oracle查询一定时间段内每一段时间数据问题

问题描述 Oracle查询一定时间段内每一段时间数据问题 我有这样一张业务表,表结构如下 (ID) 住宿时间 押金金额 退宿时间 住宿费用 00000001 2009-09-21 50 2009-09-28 30 00000001 2009-09-25 50 2009-09-27 30 00000002 2009-09-25 80 2009-09-28 50 00000003 2009-09-28 90 2009-09-30 40 ........ .. .......... .. ......

hibernate 查询40万条记录出现 java.sql.SQLException 数字溢出 异常

问题描述 大家好,我用hibernate 查询40万条记录,结果出现 java.sql.SQLException 数字溢出 异常,怎么回事啊?难道 hibernate 支持不了几十万的数据检索???我的代码: List list = session.createQuery("from 表 ").list(); 解决方案 你有没有设置Lazy Loading呀..如果你设的为立即加载的话,几十万的话数据.溢出很正常呀..解决方案二:大哥 你一起弄这么多数据出来能不溢出么?用LAZY解决方

sql 查询指定日期时间记录sql语句与查询实例

sql 查询指定日期时间记录sql语句与查询实例  首先创建一个表abc结构如下    CREATE TABLE `cc`.`loup` (  `id` INT( 4 ) NOT NULL AUTO_INCREMENT ,  `datetimes` INT( 4 ) NULL ,  `ipaddress` VARCHAR( 20 ) NULL ,  PRIMARY KEY ( `id` )  ) ENGINE = MYISAM    再批量插入数据    INSERT INTO `loup` (

java-tomcat使用一段时间后报错

问题描述 tomcat使用一段时间后报错 tomcat使用一段时间后报错,使用大约一天后某个查询报错,重启tomcat后该查询又可继续使用,但一段时间后还是报同样的错,报错信息如下: 信息: Illegal access: this web application instance has been stopped already. Could not load sun.reflect.GeneratedMethodAccessor79. The eventual following stack

电脑病毒-同一台电脑一段时间会出现多个ip地址吗??

问题描述 同一台电脑一段时间会出现多个ip地址吗?? 公司写了一个系统,做了这样的判断.1:一台电脑访问系统时,会记录cookie.session.ip地址,当这个session与ip是对应关系,当发现访问过程中ip有变更,则会将该用户踢出系统. 问题:1:我有时在登录系统后,有时会被系统踢出.2:查询系统的记录时,发现我在被踢出系统的时候,是ip发生的变化,而且这个ip是外网的,并且不止一个ip,在网上查询到的ip有的是电信的有的是联通的. 我想问是不是我的电脑有木马或病毒啊?为什么我访问系统

解决Zabbix使用一段时间后总报Zabbix Agent不可到达的问题

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dgd2010.blog.51cto.com/1539422/1626956  Zabbix使用一段时间后总是报Zabbix Agent不可到达,报错文字如下:  Zabbix Server Messages: PROBLEM: Zabbix agent on Zabbix server is unreachable for 5 minutes    首先查看Zabbix Age