Appian Community and Appian Academy are being upgraded. As a part of the upgrade, Appian Community is currently in read-only mode, and user registration is disabled until August 3. We apologize for any inconvenience this may cause, but a more secure, stable, and performant Community experience is coming soon!

The new Appian Community launches August 3, followed by Appian Academy on August 7. During the migration, Appian Community Edition, Appian Academy, Documentation, Certifications, Instructor-led Customer Training, Partner Sales Training & Accreditation, and Forum (for Appian Partners and Customers only) will remain available.

Create CDT with no sequence associated to it oracle.

Hi Appian,

I have a use case to create a CDT for an oracle table. The id is configured as below, I am trying to create CDT with not specifying the sequence using JPA Annotation @GeneratedValue ( please find example 1 XML) when I do this the datastore doesn't publish. When I tried to publish my CDT with Example 2 CDT then write to db calls fail with error : ids for this class must be manually assigned before calling save().Curious to know if we can create a CDT with no sequence and make the inserts work from Appian ?

Oracle Code for ID:

"ID" NUMBER(38,0) GENERATED BY DEFAULT ON NULL AS IDENTITY MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER  NOCYCLE  NOKEEP  NOSCALE  NOT NULL ENABLE, 

Example 1 XML:

<xsd:element name="id" nillable="true" type="xsd:int">
<xsd:annotation>
<xsd:appinfo source="appian.jpa">@Id @GeneratedValue @Column(name="ID", nullable=true, columnDefinition="NUMBER")</xsd:appinfo>
</xsd:annotation>
</xsd:element>

Example 2 XML:

<xsd:appinfo source="appian.jpa">@Id @Column(name="ID", nullable=false, columnDefinition="NUMBER")</xsd:appinfo>

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Lead Developer

    My immediate first question is why do you want to avoid @GeneratedValue?  How else is the XSD supposed to understand that your Oracle code will supply the ID?

    Are you doing that because Example 1 won't publish?  Why not the more general question: "Why won't example 1 publish?"?  It might have nothing to do with the sequence.  The first thing I would check is nullable being true.  Is that correct?

  • Hi Dave, when I put in @GeneratedValue the cdt  publish is erroring out, I tried nillable="false" but that doesn't work either.

    Error received : data source schema does not match the type mappings: Missing sequence or table: Table_sq

    XML :

    <xsd:element name="id" nillable="false" type="xsd:int">
    <xsd:annotation>
    <xsd:appinfo source="appian.jpa">@Id @GeneratedValue @Column(name="ID", nullable=false, columnDefinition="NUMBER")</xsd:appinfo>
    </xsd:annotation>
    </xsd:element>

Reply
  • Hi Dave, when I put in @GeneratedValue the cdt  publish is erroring out, I tried nillable="false" but that doesn't work either.

    Error received : data source schema does not match the type mappings: Missing sequence or table: Table_sq

    XML :

    <xsd:element name="id" nillable="false" type="xsd:int">
    <xsd:annotation>
    <xsd:appinfo source="appian.jpa">@Id @GeneratedValue @Column(name="ID", nullable=false, columnDefinition="NUMBER")</xsd:appinfo>
    </xsd:annotation>
    </xsd:element>

Children