hql语句拼接的替换方式

Posted wujixing909

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hql语句拼接的替换方式相关的知识,希望对你有一定的参考价值。

hql语句拼接的替换方式

hql语句拼接

          String hql = "FROM Topic t WHERE t.forum=?  ";
		List<Object> parameters = new ArrayList<Object>();
		parameters.add(forum);
		if (viewType == 1) {
			hql += "AND t.type = ?";
			parameters.add(Topic.TYPE_BEST);
		}
		if(orderBy == 1){ //1表示只按最后更新时间排序 
			hql += "ORDER BY t.lastUpdateTime " + (asc?"ASC":"DESC");
		}else if(orderBy == 2){//2表示只按主题发表时间排序 
			hql += "ORDER BY t.postTime " + (asc?"ASC":"DESC");
		}else if(orderBy == 3){//3表示只按回复数量排序
			hql += "ORDER BY t.replyCount " + (asc?"ASC":"DESC");
		}else{ //0表示默认排序(置顶帖在前面, 并按最后更新时间降序排序) 
			hql += "ORDER BY (CASE t.type WHEN 2 THEN 2 ELSE 0 END) DESC, t.lastUpdateTime DESC";		
		}

  

以上是关于hql语句拼接的替换方式的主要内容,如果未能解决你的问题,请参考以下文章