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