今天使用ssh框架搭建的項目,進行查詢和保存操作,使用的是
public Collection<T> getAllEntry() {
return this.hibernateTemplate.find("from "+this.classt.getName());
}
public void saveEntry(T t) {
this.hibernateTemplate.save(t);
}
以前封裝的代碼也是這樣,但是今天怎么弄,都是有問題
當執行上面的hibernateTemplate.find或hibernateTemplate.save()
程序就沒有反應了,控制台也不打印讓人高興的錯誤信息(e.printStackTrace(); ),
但是控制台 可以打印查詢和insert的語句,
搞了很長時間,那個着急上火啊,
最后收到網友的啟發,在上面的方法中加上了try-catch打印了一下異常
這下終於發現了原因:提示查詢語句語法錯誤
代碼如下:
public Collection<T> getAllEntry() {
Collection<T> list = null;
try {
list = this.hibernateTemplate.find("from "+this.classt.getName());
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
e.printStackTrace(); 提示查詢語句語法錯誤,提示在desc附進有錯誤,
但是自己並沒有是desc進行排序,為什么提示desc附近有錯誤,
自己恍然大悟,原來desc是關鍵字,自己在java的po類中使用了desc作為類的屬性,這和hibernate中查詢數據時的降序關鍵字,重復了