2012-03-21 50 views
7

Khi cố gắng thực hiện EntitySave("publications",arguments); .. Tôi nhận được lỗi sau.ORM EntitySave() - id cho lớp này phải được gán thủ công trước khi gọi save()

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

Tôi không thể giải thích lý do .. Khóa cơ sở dữ liệu chính được thiết lập chính xác và tôi đã setter = false các thuộc tính này trong CFC của mình. Tôi đã tìm thấy một chút về lỗi này khi thực hiện tìm kiếm trên Google, nhưng dường như không có gì để cho biết điều gì gây ra sự cố của tôi ở đây.

Đây là CFC của tôi. Bất kỳ gợi ý về những gì tôi có thể làm sai được đánh giá cao. Cảm ơn đống trước!

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

Bạn đã thử thêm thuộc tính trình tạo cho nó chưa? Tôi chưa bao giờ thử ánh xạ khóa chính mà không có trình tạo. http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSB7BEC0B4-8096-498d-8F9B-77C88878AC6C.html#WSA1F7CC44-F5A0-419c-B988-EC230EFF192E –

+0

s992, bạn là anh hùng của tôi! thiết lập máy phát điện = "nhận dạng" đã làm các trick. Tôi có cơ sở dữ liệu quản lý việc tạo khóa chính, do đó tôi đã không cần phải làm bất cứ điều gì với điều này trong Thực thể. Rõ ràng chúng tôi làm. Tôi có thể cũng đã đi máy phát điện = "bản địa" (mà làm việc là tốt), nhưng đi theo liên kết bạn đã gửi 'danh tính' có vẻ là lựa chọn tốt hơn. Nếu bạn có thể đăng lại như một câu trả lời, tôi sẽ vui vẻ gắn cờ như vậy. Cảm ơn một lần nữa! – Jason

Trả lời

Các vấn đề liên quan