这是一个测试类
public class test extends BaseHibernateDAO{
public static void main(String args[]){
test t=new test();
t.a();
}
public void a(){
HouseService hs=new HouseServiceImpl();
List<House> list=hs.findValue("id", 2);
System.out.println(list.size());
}
}
这里的运行结果是1
hs.findValue("id", 2);这个方法是hibernate通过myeclipse自动生成的dao方法
这是一个javaStruts2的action类
@Override
public String execute() throws Exception {
System.out.println(house+"查看");
HouseService hs=new HouseServiceImpl();
List<House> list=hs.findValue("id", "2"); //这里运行发生错误
System.out.println(list.size());
h=list.get(0);
return "chakan";
}
这段代码的运行结果为
2查看
八月 10, 2017 10:59:48 上午 org.hibernate.hql.internal.ast.HqlSqlWalker generatePositionalParameter
WARN: [DEPRECATION] Encountered positional parameter near line 1, column 44. Positional parameter are considered deprecated; use named parameters or JPA-style positional parameters instead.
2查看就是打印出来的,说明有进来这个action,但是下面的list.size并没有打印出来,及时list是null也会出现空指针异常,但是也没有空指针异常。
网页的主要报错信息我就看懂了第一条java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
看起来像是也就是转换错误
这里的错误最奇怪的就是上面的测试类可以通过,但是下面的action就无法通过,这是为什么
HansonQ
相关分类