1

我有实体(不是 MappedSuperclass)(带有 id、name、surname)。
我也有 Entity Employee extends Person(具有其他属性,不重要)。继承策略是单表。

现在我想创建一个这样的namedQuery:

SELECT emp FROM Employee emp WHERE emp.name = ?1

在 IDE 中,我得到:

状态字段路径 emp.name 无法解析为有效类型

我认为问题在于该属性属于超类实体。
到目前为止,除了使用 TYPE 运算符对 Employee 实例执行选择性查询之外,我还没有找到任何解决方案。

我想执行上面的查询。那可能吗?

我在 EclipseLink/JPA 2.0

4

2 回答 2

2

您的 JPQL 似乎有效。您是否在运行时尝试过?这可能只是您的 IDE 的问题。

(包括您的代码)

于 2013-04-30T13:17:24.743 回答
1

Person必须是@MappedSuperclass

http://www.objectdb.com/api/java/jpa/MappedSuperclass

此外,您应该使用命名参数,例如,:name而不是?...

于 2013-04-29T16:41:50.463 回答