【发布时间】:2014-01-27 16:14:31
【问题描述】:
MySQL 支持如下查询:
SELECT id FROM users WHERE id IN(3,4,8,1) ORDER BY FIELD(id, 3,4,8,1);
EclipseLink 是否支持此查询(不恢复为原生查询)?
当我尝试以下操作时:
Select id from User user where user.id in :ids ORDER BY FIELD(user.id, :ids)
我收到错误:
Syntax error parsing the query ... line 1, column 98: unexpected token [(].
【问题讨论】:
-
显然这不是有效的 JPQL,因此没有(非便携式)供应商扩展,任何 JPA 实现都不会“支持”它。 JPQL 确实允许“FUNCTION”,你可以把你的 FIELD 东西放进去(那是可移植的 JPQL)
标签: jakarta-ee jpa eclipselink jpql