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语句拼接的替换方式的主要内容,如果未能解决你的问题,请参考以下文章

hibernate的hql把一列的结果集拼接成一个字符串

JAVA中用Hql语句从数据库中读取数据,字符拼接问题

HQL语句简单介绍

两个表联合时,hql动态拼接,需要后置查询条件的解决办法

HQL单表查询 ---- Hibernate之查询语句

HQL多表查询 ---- Hibernate之查询语句