必须为序列号字段定义非只读映射

时间:2014-02-06 16:59:37

标签: toplink

当我启动应用程序时,我从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>

1 个答案:

答案 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)])