У меня есть два класса, Class Scene и Class SceneParameter. Класс Scene имеет коллекцию, определенную как показано ниже.
Классы помечены как Сериализуемые, и в них добавлены действительные методы получения / установки.
Вот отображение класса Scene -
<class name="Scene" table="scene"
identity-type="application" objectid-class="SceneId$PrimaryKey"
detachable="true">
<field name="parameters" persistence-modifier="persistent" mapped-
by="scene">
<collection element-type="com.picture.SceneParameter"/>
</field>
<fetch-group name="level-1">
<field name="parameters"/>
</fetch-group>
А вот отображение класса SceneParameter -
<class name="SceneParameter" table="scene_parameter" identity-
type="application" objectid-class="SceneParameter$PrimaryKey"
detachable="true">
<field name="scene" primary-key="true" persistence-modifier="persistent">
<column name="SceneId" length="36" jdbc-type="VARCHAR"/>
<foreign-key table="scene">
<field name="scene" />
</foreign-key>
</field>
<field name="parameter" primary-key="true" persistence-
modifier="persistent">
<column name="Name" length="25" jdbc-type="VARCHAR"/>
<column name="PictureId" length="15" jdbc-type="VARCHAR"/>
<foreign-key table="director_parameter">
<field name="name"/>
<field name="pictureId"/>
</foreign-key>
</field>
<property name="value" persistence-modifier="persistent">
<column name="Value" length="20" jdbc-type="VARCHAR"/>
</property>
</class>
Я получаю следующую ошибку.
Каким-то образом вызывается org.datanucleus.store.rdbms.mapping.java.PersistableMapping.getString (), что должно было быть невозможно!
org.datanucleus.exceptions.NucleusException: каким-то образом org. datanucleus.store.rdbms.mapping.java.PersistableMapping.getString (), который должен был быть невозможен!
Я попытался изменить отображаемое значение в поле параметров на «параметр» и получить «Отсутствует»Параметр IN или OUT в index :: 1 ".
Поскольку я новичок в отображении JDO xml, правильна ли моя структура сопоставления в отношении отношений FK между двумя таблицами ?. Если да, то при каких условиях возникает вышеуказанная ошибка? Любая помощь приветствуется.