Mapping CDT to database table with multiple primary key

There is database table with two primary keys. CDT also generated with two primary keys.

But I can't map it to data store. When try to verify and publish the data store, get

Invalid type mapping annotation found

Please correct the annotation error and re-import the data type definition   (More Info)

 

A type mapping annotation is invalid: identifier mapping has wrong number of columns: PMPolicyDetailDT2839 type: integer (MappingException) (APNX-2-4055-000)

  Discussion posts and replies are publicly visible

Parents
  • sample data, drop some columns

    <xsd:schema xmlns:xsd="">www.w3.org/.../XMLSchema" xmlns:tns="urn:com:appian:types" targetNamespace="urn:com:appian:types">
      <xsd:complexType name="PM_PolicyDetail">
        <xsd:annotation>
          <xsd:appinfo source="appian.jpa">@Table(name="PM_PolicyDetail")</xsd:appinfo>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="policy_no" nillable="true" type="xsd:string">
            <xsd:annotation>
              <xsd:appinfo source="appian.jpa">@Id @Column(name="Policy_No", nullable=false, columnDefinition="VARCHAR(20)")</xsd:appinfo>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="policydetails_id" nillable="true" type="xsd:int">
            <xsd:annotation>
              <xsd:appinfo source="appian.jpa">@Id @Column(name="PolicyDetails_ID", nullable=false, columnDefinition="INT")</xsd:appinfo>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="currency" nillable="true" type="xsd:string">
            <xsd:annotation>
              <xsd:appinfo source="appian.jpa">@Column(name="Currency", columnDefinition="VARCHAR(3)")</xsd:appinfo>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="facility_id" nillable="true" type="xsd:string">
            <xsd:annotation>
              <xsd:appinfo source="appian.jpa">@Column(name="Facility_ID", columnDefinition="VARCHAR(15)")</xsd:appinfo>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="unique_market_ref" nillable="true" type="xsd:string">
            <xsd:annotation>
              <xsd:appinfo source="appian.jpa">@Column(name="Unique_Market_Ref", columnDefinition="VARCHAR(20)")</xsd:appinfo>
            </xsd:annotation>
          </xsd:element>   

        </xsd:sequence>
      </xsd:complexType>
    </xsd:schema>

Reply
  • sample data, drop some columns

    <xsd:schema xmlns:xsd="">www.w3.org/.../XMLSchema" xmlns:tns="urn:com:appian:types" targetNamespace="urn:com:appian:types">
      <xsd:complexType name="PM_PolicyDetail">
        <xsd:annotation>
          <xsd:appinfo source="appian.jpa">@Table(name="PM_PolicyDetail")</xsd:appinfo>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="policy_no" nillable="true" type="xsd:string">
            <xsd:annotation>
              <xsd:appinfo source="appian.jpa">@Id @Column(name="Policy_No", nullable=false, columnDefinition="VARCHAR(20)")</xsd:appinfo>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="policydetails_id" nillable="true" type="xsd:int">
            <xsd:annotation>
              <xsd:appinfo source="appian.jpa">@Id @Column(name="PolicyDetails_ID", nullable=false, columnDefinition="INT")</xsd:appinfo>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="currency" nillable="true" type="xsd:string">
            <xsd:annotation>
              <xsd:appinfo source="appian.jpa">@Column(name="Currency", columnDefinition="VARCHAR(3)")</xsd:appinfo>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="facility_id" nillable="true" type="xsd:string">
            <xsd:annotation>
              <xsd:appinfo source="appian.jpa">@Column(name="Facility_ID", columnDefinition="VARCHAR(15)")</xsd:appinfo>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="unique_market_ref" nillable="true" type="xsd:string">
            <xsd:annotation>
              <xsd:appinfo source="appian.jpa">@Column(name="Unique_Market_Ref", columnDefinition="VARCHAR(20)")</xsd:appinfo>
            </xsd:annotation>
          </xsd:element>   

        </xsd:sequence>
      </xsd:complexType>
    </xsd:schema>

Children
No Data