String hql = " from Manager where name='" + name + "'"; 因为配置文件中name是String型的,所以最好加上单引号之所以出错是因为你多加了一个as
1.Class AA extends HibernateDaoSupport 2.String hql = "select ma from Manager ma where ma.name='" + name+"'"; List ls = getHibernateTemplate().find(hql);
你不会看报错啊。Caused by: java.sql.SQLException: Unknown column 'hongyang' in 'where clause' 。这里你给getManagerByName传入"hongyang", 由于你String hql = "select ma from Manager as ma where ma.name=" + name; 这里没有加单引号,所以把hongyang当成了表中的一个字段解析了。自然找不到。 改法: String hql = "select ma from Manager as ma where ma.name='" + name + "'";
因为配置文件中name是String型的,所以最好加上单引号之所以出错是因为你多加了一个as
2.String hql = "select ma from Manager ma where ma.name='" + name+"'";
List ls = getHibernateTemplate().find(hql);
由于你String hql = "select ma from Manager as ma where ma.name=" + name;
这里没有加单引号,所以把hongyang当成了表中的一个字段解析了。自然找不到。
改法:
String hql = "select ma from Manager as ma where ma.name='" + name + "'";