JPQL 2.0 - 基于超类实体字段的查询实体

时间:2013-04-29 16:36:21

标签: jpa-2.0 eclipselink jpql polymorphism

我有实体(不是MappedSuperclass)(带有id,姓名,姓氏)。
我还有实体员工扩展人(具有其他属性,不重要)。 继承策略是单表。

现在我想创建一个这样的命名查询:

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

在IDE中我得到:

  

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

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

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

我在使用EclipseLink / JPA 2.0

2 个答案:

答案 0 :(得分:2)

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

(包括您的代码)

答案 1 :(得分:1)

Person必须为@MappedSuperclass

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

此外,您应该使用命名参数,例如:name代替? ...