2012-03-21 9 views
7

Podczas próby wykonania EntitySave("publications",arguments); .. Otrzymuję następujący błąd.ORM EntitySave() - Identyfikatory ids dla tej klasy muszą być ręcznie przypisane przed wywołaniem zapisu()

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

Nie mogę pracować, dlaczego .. Moje klucze główne bazy danych są ustawione poprawnie, a ja mam setter = false tych właściwości w moim CFC. Znalazłem trochę tego błędu podczas wyszukiwania w Google, ale nic nie wskazuje na to, co jest przyczyną mojego problemu tutaj.

Oto moje CFC. Wszelkie wskazówki na temat tego, co robię źle, są doceniane. Dzięki temu stosy z góry!

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

Czy próbowałeś dodać do niego właściwości generatora? Nigdy nie próbowałem mapowania klucza podstawowego bez generatora. http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSB7BEC0B4-8096-498d-8F9B-77C88878AC6C.html#WSA1F7CC44-F5A0-419c-B988-EC230EFF192E –

+0

s992, jesteś moim bohaterem! ustawienie generatora = "tożsamość" dało podstęp. Mam bazę danych zarządzającą generowaniem klucza głównego, więc nie musiałem nic robić z tym w Entity. Oczywiście, że tak. Mogłem też zignorować generator = "native" (który również działał), ale przejście przez link, do którego wysłałeś "tożsamość", wydaje się lepszym rozwiązaniem. Jeśli mógłbyś odpowiedzieć jako odpowiedź, z przyjemnością oznaczyłbym jako taki. Dzięki jeszcze raz! – Jason

Odpowiedz