我在action文件中是这样写的
public String execute() throws Exception {
String hql="from Yaopin y where y.gongnengfenlei like '"+gongnengfenlei+"'";
System.out.println(hql);
setPageBean(switchpageserv.queryForPage(hql,pagesize,page));
return SUCCESS;执行此action时在控制台打印出来的是Hibernate: select yaopin0_.id as id0_, yaopin0_.yaopinbianhao as yaopinbi2_0 from EMdicine.dbo.yaopin yaopin0_ where yaopin0_.gongnengfenlei like 'null'
为什么是null
public String execute() throws Exception {
String hql="from Yaopin y where y.gongnengfenlei like '"+gongnengfenlei+"'";
System.out.println(hql);
setPageBean(switchpageserv.queryForPage(hql,pagesize,page));
return SUCCESS;执行此action时在控制台打印出来的是Hibernate: select yaopin0_.id as id0_, yaopin0_.yaopinbianhao as yaopinbi2_0 from EMdicine.dbo.yaopin yaopin0_ where yaopin0_.gongnengfenlei like 'null'
为什么是null
所以最好的办法是:
String hql="from Yaopin y where 1=1 ";
if(!"".equals(gongnengfenlei) && gongnengfenlei != null){
hql += "and y.gongnengfenlei like '%"+ gongnengfenlei +"'%";
}