状态字段路径 'e.id' 无法解析为有效类型。 orm.xml 中的动态实体,
The state field path 'e.id' cannot be resolved to a valid type. Dynamic entity in orm.xml,
当我的应用程序试图访问继承实体 RootFolderNode 时,这个简单的 SINGLE_TABLE 继承层次结构以某种方式失败。
实体被定义为动态实体 access="VIRTUAL",没有 Java class 支持。 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>
我在这里错过了什么?
使用的产品:EclipseLink 2.5.1。 JBoss EAP 6.2。
解决方法:重复继承规范:
<entity class="RootFolderNode" parent-class="FolderNode" access="VIRTUAL">
<inheritance strategy="SINGLE_TABLE"/>
<discriminator-value>R</discriminator-value>
</entity>
您应该使用继承策略来克服 this.please 在您的 RootFolderNode 中添加以下行。
<inheritance strategy="SINGLE_TABLE"/>
当我的应用程序试图访问继承实体 RootFolderNode 时,这个简单的 SINGLE_TABLE 继承层次结构以某种方式失败。
实体被定义为动态实体 access="VIRTUAL",没有 Java class 支持。 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>
我在这里错过了什么?
使用的产品:EclipseLink 2.5.1。 JBoss EAP 6.2。
解决方法:重复继承规范:
<entity class="RootFolderNode" parent-class="FolderNode" access="VIRTUAL">
<inheritance strategy="SINGLE_TABLE"/>
<discriminator-value>R</discriminator-value>
</entity>
您应该使用继承策略来克服 this.please 在您的 RootFolderNode 中添加以下行。
<inheritance strategy="SINGLE_TABLE"/>