org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute query;
sql 语句错误举例:
错误方法:
@SuppressWarnings("unchecked")public List<Member> findMemberByName(String name) {List<Member> list = null;String queryStr = "from Member mem where mem.name = " + namelist = (List<Member>) this.getHibernateTemplate().find(queryStr);return list;}
那么Hibernate在执行这个语句的时候产生的sql语句是:
select.....fromshopping.member member0_ wheremember0_.loginName=qingyun
错误就在最后一行上 qingyun 没有引号。
修改如下:注意 在生产queryStr 的时候补充了引号
@SuppressWarnings("unchecked")public List<Member> findMemberByName(String name) {List<Member> list = null;String queryStr = "from Member mem where mem.name = '" + name + "'";list = (List<Member>) this.getHibernateTemplate().find(queryStr);return list;}
产生的正确sql语句如下:
select.....fromshopping.member member0_ wheremember0_.loginName='qingyun'
ok!