Jpa 2.0 JPQL 2.0-基于超类实体字段的查询实体
我有实体(非MappedSuperclass)个人(带id、姓名和姓氏)。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实例执行选择性查询之外,我还没有找到任何解决方案
我还拥有实体员工扩展人员(具有其他属性,不重要)。 继承策略是单表 现在我想创建一个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问题,我继续部署,它工作顺利。非常感谢。