-
hql 不支持UNION ALL的解决思路
普通类 -
- 支持
- 批判
- 提问
- 解释
- 补充
- 删除
-
-
应对Hibernate不支持UNION ALL的一种思路
问题描述
由于实际需求,要将查询的结果合并,发现写出来执行不正确,查了一下原来是Hibernate不支持UNION ALL。本来打算调用本地的sql,可是写到一半发现太麻烦。
解决办法
String hql1="select lv from LogView lv,Lc lc, Course c where (lv.id.operaType in (22,21,72,61,51) and lv.id.sourceType=2 and lv.id.id=lc.id and lc.course.id=c.id and c.user.id="+userId+")";
String hql2="select lv from LogView lv,Community com where (lv.id.operaType in (21,61) and lv.id.sourceType=3 and lv.id.id=com.id and com.user.id="+userId+")";
list= UserDAO.getInstance().list(hql1);
List list2= UserDAO.getInstance().list(hql2);list.addAll(list2); //将两次查询的结果拼接起来
PageList messagelist= new PageList((ArrayList) list, start, pageSize, list.size()); //再返回pagelist
-
-
- 标签:
- all
- hql
- select
- string
- logview
- lv
- union
- list
- userdao.getinstance
- list2
- userid+
- hql1
- hql2
-
学习元评论 (0条)
聪明如你,不妨在这 发表你的看法与心得 ~