Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jpa 2.0 JPQL 2.0-基于超类实体字段的查询实体_Jpa 2.0_Eclipselink_Jpql_Polymorphism - Fatal编程技术网

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

Jpa 2.0 JPQL 2.0-基于超类实体字段的查询实体,jpa-2.0,eclipselink,jpql,polymorphism,Jpa 2.0,Eclipselink,Jpql,Polymorphism,我有实体(非MappedSuperclass)个人(带id、姓名和姓氏)。 我还拥有实体员工扩展人员(具有其他属性,不重要)。 继承策略是单表 现在我想创建一个namedQuery,如下所示: SELECT emp FROM Employee emp WHERE emp.name = ?1 在IDE中,我得到: 无法将状态字段路径emp.name解析为有效类型 我认为问题在于属性属于超类实体。 到目前为止,除了使用TYPE操作符对Employee实例执行选择性查询之外,我还没有找到任何解决方案

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

现在我想创建一个namedQuery,如下所示:

SELECT emp FROM Employee emp WHERE emp.name = ?1
在IDE中,我得到:

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

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

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


我在EclipseLink/JPA2.0上

必须是
@MappedSuperclass


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

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


(包括您的代码)

如果Person是一个实体,它不需要是一个MappedSuperclass。请发布Person和Employee类。如果这是一个Netbeans问题,我继续部署,它工作顺利。非常感谢。