Hibernate外卡LIKE只返回表上的第一项

时间:2014-02-14 16:49:59

标签: java hibernate

在我的项目中,我需要按标题搜索书籍。 以下代码仅给出表中的第一项而不是所有具有相同字符的项

Query query = session.createQuery("from Book b where str(b.name) like :title");
            query.setParameter("title",title+"%");
            books=query.list();

2 个答案:

答案 0 :(得分:0)

只需在开头添加通配符。目前,它会显示表格中从参数开始的项目

 query.setParameter("title",("%" +title+"%"));

答案 1 :(得分:0)

检查区分大小写。 db中的数据区分大小写。使用查询之类的 ("from Book b where upper(str(b.name)) like upper(:title"));这会使您的搜索案例不敏感。