今天使用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中查询数据时的降序关键字,重复了