خطأ: java.lang.string لا يمكن إلقاؤه إلى coldfusion.cfc.cfcbeanproxy أي شخص يعرف عن هذا؟

StackOverflow https://stackoverflow.com/questions/2746583

سؤال

هل يعرف أحد عن هذا الخطأ الذي أحصل عليه عندما أحاول إدراج قيمة مفتاح خارجي في كيان الإدخال الخاص بي باستخدام تكامل السبات Coldfusion 9؟

java.lang.classcastexception: java.lang.string لا يمكن إلقاؤها إلى coldfusion.cfc.cfcbeanproxy

السبب الجذري: org.hibernate.hibernateException: java.lang.classcastexception: java.lang.string

فيما يلي رمز كائن الكيان الخاص بي ثم لكائن المستخدم الخاص بي ..

هل هناك شيء خاطئ بهذا؟

enter.cfc

/**
* Entries Object
*/
component output="false" persistent="true"{
    property name="entry_id" fieldType="id" generator="uuid";
    property name="entryBody" ormType="text";
    property name="title" notnull="true" type="string";
    property name="time" fieldtype="timestamp";
    property name="isCompleted" ormType="boolean" dbdefault="0" default="false";
    property name="userID" fieldtype="many-to-one" fkcolumn="userID" cfc="user";

    Entry function init() output=false{
        return this;
    }
}

user.cfc

/**
* Users Object
*/
component output="false" persistent="true"{
    property name="userID" fieldType="id" generator="uuid";
    property name="firstName" notnull="true" type="string";
    property name="lastName" notnull="true" type="string";
    property name="password" notnull="true" type="string";
    property name="userType" notnull="true" type="string";
    //property name="entry" fieldtype="one-to-many" type="array" fkcolumn="userID" cfc="entry";

    User function init() output=false{
        return this;
    }
}
هل كانت مفيدة؟

المحلول

property name="user" type="User" fieldtype="many-to-one" fkcolumn="userID" cfc="User";

لأن الخاصية يجب أن تكون مستخدمًا ، وليس المعرف؟ في cf-orm/hibernate ، لا توجد طريقة لتعيين FK. يجب عليك أن...

entry = EntityNew("Entry");
user = EntityLoadByPK("user",1);
entry.setUser(user);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top