浏览 4070 次
锁定老帖子 主题:hibernate like用法
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-11-03
hql.append(" and u.userName like ?"); v.add("%" + Utils.escapeSearchWord(user.getUserName().trim()) + "%"); public static String escapeSearchWord(String str) { if ("AND".equals(str) || "OR".equals(str) || "NOT".equals(str)) { str = '\\' + str; } StringBuffer sb = new StringBuffer(); for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); // These characters are part of the query syntax and must be escaped if (c == '_') { sb.append('\\'); } sb.append(c); } return sb.toString(); } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-11-03
那查询就不要用hibernate了
|
|
返回顶楼 | |
发表时间:2011-11-06
Criteria criteria = session.createCriteria(User.class);
//criteria.setProjection(Projections.property("id")); criteria.add(Restrictions.like("userName", Utils.escapeSearchWord(user.getUserName().trim()) , MatchMode.ANYWHERE)); criteria.list(); |
|
返回顶楼 | |
发表时间:2011-11-07
说实话hibernate很麻烦 如果想用hibernate做复杂点的查询 还不如直接写sql 数据结构一变 准备花时间改配置吧
|
|
返回顶楼 | |
发表时间:2011-11-09
架构的时候,应该有通用方法,hibernate 还是挺灵活的~ if (!StringUtil.isEmpty(xx.getxx())) {
hql.append(" and s.xx like'%"); hql.append(mallItem.getxx()); hql.append("%' "); } |
|
返回顶楼 | |