当我启动应用程序时,我从Toplink收到以下错误。我想在我们的应用程序中添加两个新表。
EXCEPTION [TOPLINK-41](TopLink - 9.0.3.7(Build 440)):oracle.toplink.exceptions.DescriptorException 例外描述:必须为序列号字段定义非只读映射。 DESCRIPTOR:描述符(icis.cr.common.db.entities.ClerkReviewTask - > [DatabaseTable(CREV_TASK)])
我将映射与一个有效且没有注意到的映射进行了比较。我比较了TopLink工作台中的新类,但没有看到任何丢失的映射。看来我的序列正确映射。有人对此有任何建议吗?
描述符对于TASK_ID字段具有以下内容:
<primaryKeyFieldHandles>
<FieldHandle>
<table>CREV_TASK</table>
<fieldName>TASK_ID</fieldName>
</FieldHandle>
</primaryKeyFieldHandles>
<sequenceNumberName>SEQ_CREV_TASK_ID</sequenceNumberName>
<sequenceNumberFieldHandle>
<FieldHandle>
<table>CREV_TASK</table>
<fieldName>TASK_ID</fieldName>
</FieldHandle>
</sequenceNumberFieldHandle>
<Mapping>
<descriptor>icis.cr.common.db.entities.ClerkReviewTask.ClassDescriptor</descriptor>
<usesMethodAccessing>false</usesMethodAccessing>
<inherited>false</inherited>
<readOnly>false</readOnly>
<getMethodHandle>
<MethodHandle emptyAggregate="true">
</MethodHandle>
</getMethodHandle>
<setMethodHandle>
<MethodHandle emptyAggregate="true">
</MethodHandle>
</setMethodHandle>
<instanceVariableName>id</instanceVariableName>
<defaultFieldNames>
<defaultFieldName>direct field=</defaultFieldName>
</defaultFieldNames>
<fieldHandle>
<FieldHandle>
<table>CREV_TASK</table>
<fieldName>TASK_ID</fieldName>
</FieldHandle>
</fieldHandle>
<classIndicator>BldrDirectToFieldMapping</classIndicator>
</Mapping>
答案 0 :(得分:0)
我可以通过右键单击TopLink Mapping Workbench中的项目并选择Export Project to Java Source
来解决此问题。我的文件已过期并导致此错误以及以下内容:
EXCEPTION [TOPLINK-110](TopLink - 9.0.3.7(Build 440)): oracle.toplink.exceptions.DescriptorException
EXCEPTION DESCRIPTION:类[icis.cr.common.db.entities.ClerkReviewCaseTask]缺少描述符。
MAPPING: oracle.toplink.mappings.OneToManyMapping [caseTasks]
DESCRIPTOR:描述符(icis.cr.common.db.entities.ClerkReviewTask - &gt; [DatabaseTable(CREV_TASK)])