遇到了一個很棘手的問題,Hibernate查詢時,附帶查詢條件,下面是使用到的查詢語句:select a.AURE_INVEST,c.ENGI_COST,c.EQUI_COST,c.DEMO_COST,c.TWOCL_COST,c.NOTE_COST,c.INTEREST_COST,sum(cast(c.FUNDS_PAID as float)) as sumGovPay,sum(cast(e.FUNDS_IN as float)) as lastMonthArrive,sum(cast(c.FUNDS_PAID as float)) as lastMonthPay,f.QUARTER1_BUDGET,f.QUARTER2_BUDGET,f.QUARTER3_BUDGET,f.QUARTER4_BUDGET,sum(cast(c.FUNDS_PAID as float)) as thisQuarterPay,f.ID,f.PROJ_CODE,b.PROJ_TYPE,b.PROJ_NAME,b.PROJ_SORT,b.PROJ_STAT,b.P_RECORD_TIME from GOV_CODE a,PROJ_CODE b,PROJ_FUNDS_PAID c,PROJ_FUNDS_SOURCE e,PROJ_YEAR_BUDGET f where e.DATA_YEAR<'"+year+"' and e.DATA_MONTH<'"+month+"' and c.DATA_DATE<"+DataParser.formatStringDate(newDate)+" and f.DATA_YEAR='"+year+"' and c.DATA_DATE>="+DataParser.formatStringDate(year+"-"+"10-01 00:00:00")+" and c.DATA_DATE<="+DataParser.formatStringDate(year+"-"+"12-31 00:00:00")+" and a.GOV_CODE=b.GOV_CODE and c.PROJ_CODE=b.PROJ_CODE and f.PROJ_CODE=b.PROJ_CODE and e.PROJ_CODE=b.PROJ_CODE group by a.AURE_INVEST,c.ENGI_COST,c.EQUI_COST,c.DEMO_COST,c.TWOCL_COST,c.NOTE_COST,c.INTEREST_COST,
f.QUARTER1_BUDGET,f.QUARTER2_BUDGET,f.QUARTER3_BUDGET,f.QUARTER4_BUDGET,f.ID,f.PROJ_CODE,b.PROJ_TYPE,
b.PROJ_NAME,b.PROJ_SORT,b.PROJ_STAT,b.P_RECORD_TIME
其中DATA_YEAR和DATA_MONTH在數(shù)據(jù)庫中的存儲類型是String型, DATA_DATE存儲的類型是Date型,使用到的DataParser.formatStringDate方法如下:
public static Date formatStringDate(String sDate)
{
DateFormat df = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
Date tDate = null;
try {
tDate = df.parse(sDate);
} catch (ParseException e) {
e.printStackTrace();
}
return tDate;
}
但是無論如何都是出不來結(jié)果,報的是一個Not all named parameters have been set: [00:00]的錯誤,格式化出來的時間也不是想要的類型,而是這個衰樣:Sat Nov 01 00:00:00 CST 2008,與我想要的“yyyy-MM-dd hh:mm:ss”相去甚遠,不知道該怎么格式化一下,麻煩那位高手指點一下,感激不盡!