有关绑定变量的查询问题
请教使用Hibernate进行一个查询:
public List getList() {
String hql= "FROM Group group WHERE group.groupName like :groupName";
Query query = getSession().createQuery(hql);
query.setParameter("groupName", "admin");
//以下绑定时也执行不了
//query.setParameter("groupName","admin",Hibernate.STRING);
return query.list();
}
在DB2执行查询时竟然出错。(Oracle , postgres, SQL Server执行都没问题)。
按照相同的SQL语句:select * from grouptable where groupName like 'admin'; 在DB2客户端运行就可以。
在网上查了资料说
“进行查询执行计划时,走的是索引扫描(通过主键),当代入实际值时,显示的全表扫描,后来发现SQL的传入的实参的类型搞错了...”
数据库表grouptable中groupName的类型是varchar.
原因不明!