标签:YEAR

Hibernate支持的HQL函数-HQL对Date类型数据的处理

发表于3年前(Dec 24, 2014 2:34:59 PM)  阅读 1206  评论 0

分类: Java

标签: hql CURRENT_DATE YEAR

1、问题背景:

有一个需求,统计网址访问量,需要分别统计昨天以及当月网址的访问数量。网址每次访问记录都已保存下来,访问时间使用日期时间类型,数据库是用的mysql,对应的字段类型是timestamp。其实这是一个很简单的sql,指定时间范围count一下就行了,本来系统框架使用的hibernate,也支持jdbc,但是考虑到还是保留数据库可移植性,还是使用hql来进行查询。

2、解决方案:

2.1、方案1:

以统计昨天的访问量为例,给定两个时间类型的参数,分别对应昨天零点以及今天零点的时间,采用between进行查询。(传参时,参数类型好像是用使用java.sql.Date,笔者未试验)

2.2、方案2:

网上搜索hibernate支持的函数,找到一些处理时间类型的函数,笔者就是采用该方案实现,看下面代码:

public int getLastDayVisitCount() {
......