Эта простая иерархия наследования SINGLE_TABLE как-то терпит неудачу, когда мое приложение пытается получить доступ к наследующему объекту RootFolderNode.Путь поля состояния 'e.id' не может быть разрешен к допустимому типу. Динамический объект в orm.xml,
Объекты определяются как динамические сущности 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>
Что я здесь отсутствует?
Используемые изделия: EclipseLink 2.5.1. JBoss EAP 6.2.
"java.lang.Long"? –
Да, java.lang.Long. Использование только Long работает с другими объектами. Есть идеи? – leo
Можете ли вы предоставить junit-тест? –