今天在写ssh项目的时候遇到了这样一个问题,我在数据库通过连表查询A老师下的所有班级的时候,把查出来的所有内容(所有字段)放到List里面,代码如下:
/**
* @title: queryClasses
* @description: 查询教师下的所有班级
* @param user
*/
@Override
public List queryClasses(String userid) {
String hql = "from SysClasses c,SysTeacher t " + "where c.userId = t.userId and c.userId = ?";
Session session = getSession();
Query query = session.createQuery(hql);
query.setString(0, userid);
List list = query.list();
session.close();
return list;
}
然后在前台用el表达式,即对象.属性的方法 ${list.className} 取值得时候总是显示不出来数据,而且还有报错,报错信息如下:(前提是我只想要className属性,只有SysClasses表中有而SysTeacher表中没有)
java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to com.gxuwz.check.entity.SysClasses
com.gxuwz.check.action.LoginAction.execute(LoginAction.java:69)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
报错的意思是:Object类型不能够转换成这个实体类SysClasses类型。 之后就开始研究打断点测试 先添加两行代码进行测试,代码如下:
@Override public List queryClasses(String userid) {
String hql = "from SysClasses c,SysTeacher t " + "where c.userId = t.userId and c.userId = ?";
Session session = getSession();
Query query = session.createQuery(hql);
query.setString(0, userid);
List list = query.list();
for(int i = 0;i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?