1

当我尝试使用 ColdFusion 9 Hibernate 集成在我的条目实体中插入外键值时,有人知道我得到的这个错误吗?

java.lang.ClassCastException:java.lang.String 无法转换为 Coldfusion.cfc.CFCBeanProxy

根本原因:org.hibernate.HibernateException:java.lang.ClassCastException:java.lang.String 无法转换为coldfusion.cfc.CFCBeanProxy

下面是我的实体对象的代码,然后是我的用户对象的代码。

这有什么问题吗?

入口.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;
    }
}

用户.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;
    }
}
4

1 回答 1

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

因为属性应该是用户类型,而不是 ID?在 CF-ORM/Hibernate 中,没有办法只设置 FK。你必须...

entry = EntityNew("Entry");
user = EntityLoadByPK("user",1);
entry.setUser(user);
于 2010-04-30T18:14:56.470 回答