2012-03-21 10 views
7

Quando si tenta di eseguire un EntitySave("publications",arguments); .. Ricevo il seguente errore.ORM EntitySave() - Gli ID per questa classe devono essere assegnati manualmente prima di chiamare save()

ids for this class must be manually assigned before calling save(): publications 

non riesco a capire perché .. Le mie chiavi database primario sono impostati correttamente, e ho setter = false queste proprietà nella mia CFC. Ho trovato un po 'su questo errore facendo una ricerca su Google, ma nulla sembra indicare che cosa sta causando il mio problema qui.

Ecco i miei CFC. Qualsiasi suggerimento su cosa potrei fare male è apprezzato. Grazie mille in anticipo!

Publications.cfc

component persistent="true" table="publications" 
hint="Publications"{ 
    property name="id" fieldtype="id" setter="false"; 
    property name="typeid" omrtype="int"; 
    property name="name" ormtype="string"; 
    property name="dateScheduled" ormtype="date" ; 
    property name="tstamp" ormtype="date"; 

    property name="Article" fieldtype="one-to-many" cfc="publicationArticles" fkcolumn="publicationid"; 
} 

publicationArticles.cfc

component persistent="true" table="publicationArticles" 
hint="Publications"{ 
    property name="id" fieldtype="id" setter="false" ; 
    property name="typeid" ormtype="int"; 
    property name="title" ormtype="string" ; 
    property name="status" ormtype="boolean"; 

    property name="publication" fieldtype="many-to-one" cfc="publications" fkcolumn="publicationid" ; 
} 

publicationTypes.cfc

component persistent="true" table="publicationTypes"  
hint="Publicatin Type - Lookup"{ 

    property name="id" fieldtype="id" setter="false" ; 
    property name="description" ormtype="string"; 

    property name="publications" fieldtype="one-to-many" cfc="publications" fkcolumn="typeid" ; 
} 
+1

Hai provato ad aggiungere una proprietà di generatore ad esso? Non ho mai provato a mappare una chiave primaria senza un generatore. http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSB7BEC0B4-8096-498d-8F9B-77C88878AC6C.html#WSA1F7CC44-F5A0-419c-B988-EC230EFF192E –

+0

s992, sei il mio eroe! setting generator = "identity" ha fatto il trucco. Ho il database che gestisce la generazione della chiave primaria, quindi ho capito che non avevo bisogno di fare nulla con questo nell'entità. Chiaramente lo facciamo. Potrei anche essere diventato generatore = "nativo" (che ha funzionato bene), ma passare dal link che hai inviato a "identità" sembra l'opzione migliore. Se potessi ripostare come risposta, sarò felicemente di bandiera in quanto tale. Grazie ancora! – Jason

risposta

Problemi correlati