为什么不能在带有EclipseLink的where子句中使用id字段

时间:2012-11-04 17:03:39

标签: java hibernate jpa orm eclipselink

我正在将应用程序从Hibernate移动到EclipseLink。 我有以下命名查询:

delete from MyObject where id<=:LAST_ID

查询在Hibernate中运行良好,但在EclipseLink中出现以下错误:

  

标识变量“id”不能与&lt; =运算符一起使用。

是否允许在使用JPA的caluse中使用ID字段?

任何解决方法都将受到赞赏。

2 个答案:

答案 0 :(得分:1)

对我有用的语法是:

delete from MyObject mo where mo.id <= :LAST_ID

答案 1 :(得分:0)

AFAIK,您始终可以使用Delete From MyObject Where MyObject <= :LAST_ID同样的效果。无论如何,如果你发布实体定义,我们可能会更有帮助。