我在启动应用程序时从TopLink中获得以下错误。我正在尝试将两个新表添加到我们的应用程序中。
异常[toplink -41](TopLink -9.0.3.7(构建440)):oracle.toplink.exceptions.descriptorexception异常说明:必须为序列号字段定义非阅读映射。描述符:描述符(icis.cr.common.db.entities.clerkreviewtask-> [databasetable(crev_task)])
我将映射与有效的映射进行了比较,却没有注意到任何东西。我比较了TopLink Workbench中的新课程,但没有看到任何缺失的映射。看来我的序列已正确映射。有人对此有任何建议吗?
描述符具有以下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>
我能够通过在TopLink映射工作台中右键单击我的项目并选择Export Project to Java Source
来解决此问题。我的文件已过时,引起了此错误,以下是:
异常[TopLink -1110](TopLink -9.0.3.7(build 440)): oracle.toplink.exceptions.descriptorexception
例外描述: class [icis.cr.common.db.entities.clerkreviewcasetask]缺少描述符。
映射: oracle.toplink.mappings.onetmanymapping [casetasks]
描述符:描述符(icis.cr.common.db.entities.clerkreviewtask-> [databasetable(crev_task)])