Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/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 状态字段路径';e、 id';无法解析为有效类型。orm.xml中的动态实体,_Jpa_Orm_Eclipselink_Jpql_Single Table Inheritance - Fatal编程技术网

Jpa 状态字段路径';e、 id';无法解析为有效类型。orm.xml中的动态实体,

Jpa 状态字段路径';e、 id';无法解析为有效类型。orm.xml中的动态实体,,jpa,orm,eclipselink,jpql,single-table-inheritance,Jpa,Orm,Eclipselink,Jpql,Single Table Inheritance,当我的应用程序试图访问继承实体RootFolderNode时,这个简单的单表继承层次结构不知何故失败了 这些实体被定义为动态实体access=“VIRTUAL”,没有Java类支持。PersistenceUnit已加载,没有任何投诉 Exception Description: Problem compiling [SELECT DISTINCT e FROM RootFolderNode e WHERE e.id = :param1 ]. [46, 50] The state

当我的应用程序试图访问继承实体RootFolderNode时,这个简单的单表继承层次结构不知何故失败了

这些实体被定义为动态实体access=“VIRTUAL”,没有Java类支持。PersistenceUnit已加载,没有任何投诉

Exception Description: Problem compiling 
    [SELECT DISTINCT e FROM RootFolderNode e WHERE  e.id =  :param1 ]. 
[46, 50] The state field path 'e.id' cannot be resolved to a valid type.
ORM.xml的相关部分

<entity class="FolderNode" access="VIRTUAL" >
    <table name="FOLDER_NODE_PREPARE" />
    <inheritance strategy="SINGLE_TABLE"/>
    <discriminator-value>F</discriminator-value>
    <attributes>
        <id name="id" attribute-type="Long">
            <column name="id" />
            <generated-value strategy="SEQUENCE" generator="FOLDER_NODE_SEQ" />
            <sequence-generator sequence-name="FOLDER_NODE_SEQ" name="FOLDER_NODE_SEQ" allocation-size="1" />
        </id>
        ...
    </attributes>
</entity>

<entity class="RootFolderNode" parent-class="FolderNode" access="VIRTUAL">
    <discriminator-value>R</discriminator-value>
</entity>

F
...
R
我错过了什么


使用中的产品:EclipseLink 2.5.1。JBossEAP6.2

解决方案:重复继承规范:

<entity class="RootFolderNode" parent-class="FolderNode" access="VIRTUAL">
    <inheritance strategy="SINGLE_TABLE"/>
    <discriminator-value>R</discriminator-value>
</entity>

R

您应该使用继承策略来克服此问题。请在您的RootFolderNode中添加以下行

 <inheritance strategy="SINGLE_TABLE"/>


是,java.lang.Long。使用justlong可以处理其他实体。有什么想法吗?你能提供junit测试吗?你在使用多租户吗?