java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to 问题
publicAadminquaryUserNames(Stringname){Stringsql="selectafromEadminawherea.Aname=?";Q...
public Aadmin quaryUserNames(String name) {
String sql = "select a from Eadmin a where a.Aname = ?";
Query query = sessionFactory.getCurrentSession().createSQLQuery(sql);
query.setString(0, name);
Aadmin a = (Aadmin)query.uniqueResult();//这句报错,说是不能转换成Aadmin这个类,但我这个类就是 根据数据库中的字段来的实体类(相应的映射类 Aadmin.hbm.xml也有),求问怎么回事,怎么改
return a;
}
public class Aadmin {
private int Aid;
private String Aname;
private String department;
private String Apassword;
下面是上述字段的geter/seter方法
} 展开
String sql = "select a from Eadmin a where a.Aname = ?";
Query query = sessionFactory.getCurrentSession().createSQLQuery(sql);
query.setString(0, name);
Aadmin a = (Aadmin)query.uniqueResult();//这句报错,说是不能转换成Aadmin这个类,但我这个类就是 根据数据库中的字段来的实体类(相应的映射类 Aadmin.hbm.xml也有),求问怎么回事,怎么改
return a;
}
public class Aadmin {
private int Aid;
private String Aname;
private String department;
private String Apassword;
下面是上述字段的geter/seter方法
} 展开
展开全部
String sql = "select a from Eadmin a where a.Aname = ?";
Query query = sessionFactory.getCurrentSession().createSQLQuery(sql);
query.setString(0, name);
朋友你这里的sql查询的是一个实体,而你创建的是本地sql方式sessionFactory.getCurrentSession().createSQLQuery(sql);
标准的sql是不支持查询实体的,你要改成.createQuery(sql);就可以了
Query query = sessionFactory.getCurrentSession().createSQLQuery(sql);
query.setString(0, name);
朋友你这里的sql查询的是一个实体,而你创建的是本地sql方式sessionFactory.getCurrentSession().createSQLQuery(sql);
标准的sql是不支持查询实体的,你要改成.createQuery(sql);就可以了
展开全部
Aadmin a = (Aadmin)query.uniqueResult();
上面加一句:
query.addEntity(Aadmin.class)
上面加一句:
query.addEntity(Aadmin.class)
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Query query = sessionFactory.getCurrentSession().createSQLQuery(sql);
这句要修改!
这句要修改!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询