这是在一个群里讨论的问题
方法很多如果说数据库中数据的存储是用date类型的话改怎么做如果说做数据迁移的话又该怎么做?
最终的讨论方案在用字符串存储格式上比较好毕竟各个数据库对时间的存储存在差异
一下是我用hibernate中的HQL和QBC两种检索方式对一段时间内的数据进行检索
packagecomdudulili;
importjavautilDate;
importjavautilIterator;
importjavautilList;
importorghibernateCriteria;
importorghibernateSession;
importorghibernateTransaction;
importorghibernatecriterionCriterion;
importorghibernatecriterionExpression;
publicclassSelect{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAutogeneratedmethodstub
Sessionsession=HibernateSessionFactorygetSession();
Transactiontran=sessionbeginTransaction();
/*
*采用HQL的方式
Datebegin=javasqlDatevalueOf();
Dateend=javasqlDatevalueOf();
List<A>result=sessioncreateQuery(fromAawhereadate>:beginTimeandadate<=:endTime)setTimestamp(beginTimebegin)setTimestamp(endTimeend)list();
for(Aa:result){
Systemoutprintln(agetId());
Systemoutprintln(agetTitle());
Systemoutprintln(agetDate());
}
*/
//采用QBC的方式
Datebegin=javasqlDatevalueOf();
Dateend=javasqlDatevalueOf();
Criteriacriteria=sessioncreateCriteria(AbstractAclass);
Criterioncreterion=Expressionbetween(datebeginend);
List<A>result=criteriaadd(creterion)list();
for(Aa:result){
Systemoutprintln(agetId());
Systemoutprintln(agetTitle());
Systemoutprintln(agetDate());
}
}
}