进行查询的hql是这样的
“from Goods g where g.name like ? or g.info like ?”
填入的是“%“+key+”%”
具体代码是:
===============================
@Override
public List<Goods> findGoodsByKey(String key) {
List<Goods> goodsList;
String hql = "from Goods g where g.name like ? or g.info like ?";
goodsList = template.find(hql,new Object[]{"%"+key+"%","%"+key+"%"});
System.out.println(goodsList.size());
return goodsList;
}
===============================
我做的是电商平台,这个查询是用来通过关键字key搜索商品Goods的,需要返回一个List,
但是问题是,当key为空字符串“”时,可以查询到所有记录,
可是当key为具体值比如“测试”时,list.size() 却为 0。
我的数据库里已经准备好了数据,之前项目没加入spring框架时,搜“测试”是可以出结果的,
昨晚手贱加了spring和原来的hibernate、struts整合在一起,就变成这样了。
“from Goods g where g.name like ? or g.info like ?”
填入的是“%“+key+”%”
具体代码是:
===============================
@Override
public List<Goods> findGoodsByKey(String key) {
List<Goods> goodsList;
String hql = "from Goods g where g.name like ? or g.info like ?";
goodsList = template.find(hql,new Object[]{"%"+key+"%","%"+key+"%"});
System.out.println(goodsList.size());
return goodsList;
}
===============================
我做的是电商平台,这个查询是用来通过关键字key搜索商品Goods的,需要返回一个List,
但是问题是,当key为空字符串“”时,可以查询到所有记录,
可是当key为具体值比如“测试”时,list.size() 却为 0。
我的数据库里已经准备好了数据,之前项目没加入spring框架时,搜“测试”是可以出结果的,
昨晚手贱加了spring和原来的hibernate、struts整合在一起,就变成这样了。