这是一个测试类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()); }}这里的运行结果是1hs.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 generatePositionalParameterWARN: [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就无法通过,这是为什么
1 回答
已采纳
HansonQ
TA贡献223条经验 获得超56个赞
单元测试里面入参类型是String ,Integer,action测试的时候是String,String.。你这个在编译器里面这么写 编译器都不能通过吧
添加回答
举报
0/150
提交
取消