【发布时间】:2013-07-30 19:26:52
【问题描述】:
我写了两个休眠查询:
- TypedQuery q = em.createQuery("SELECT user.id FROM TableOne AS user WHERE ...", Long.class);
- TypedQuery q = em.createQuery("SELECT link.user_id FROM TableTwo AS link WHERE ...", Long.class);
现在,如何合并这两个查询?我的返回类型必须是 TypedQuery
【问题讨论】:
-
SQL 等价的应该是 Union 语句吧? JPQL 不支持此类,尽管一些 JPA 提供程序支持。为什么需要将查询合并到一个 TypedQuery 中?你不能同时执行并返回一个 Set
包装到另一个方法中吗? -
如何使用等效的 SQL 来返回 TypedQuery?跟随工作吗? TypedQuery q = em.createQuery("SELECT user.id FROM TableOne AS user WHERE ... UNION SELECT link.user_id FROM TableTwo AS link WHERE ...", Long.class);