ошибка: java.lang.String не может быть приведен к coldfusion.cfc.CFCBeanProxy. Кто-нибудь знает об этом? - PullRequest
1 голос
/ 30 апреля 2010

Кто-нибудь знает об этой ошибке, которую я получаю, когда пытаюсь вставить значение внешнего ключа в мою сущность записи с помощью интеграции ColdFusion 9 Hibernate?

java.lang.ClassCastException: java.lang.String не может быть приведен к coldfusion.cfc.CFCBeanProxy

Основная причина: org.hibernate.HibernateException: java.lang.ClassCastException: java.lang.String не может быть приведена к coldfusion.cfc.CFCBeanProxy

Ниже приведен код для моего объекта сущности, а затем для моего объекта пользователя.

Что-то не так с этим?

entry.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;
    }
}

1 Ответ

1 голос
/ 30 апреля 2010
property name="user" type="User" fieldtype="many-to-one" fkcolumn="userID" cfc="User";

Поскольку свойство должно иметь тип User, а не ID? В CF-ORM / Hibernate нет возможности просто установить FK. Вы должны ...

entry = EntityNew("Entry");
user = EntityLoadByPK("user",1);
entry.setUser(user);
...