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

java.lang.classcastException:java.lang.String不能被施加到Coldfusion.cfc.cfcbeanproxy

根本原因:org.hibernate.hibernateException:java.lang.classcastexception:java.lang.string不能施放到coldfusion.cfc.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;
    }
}
有帮助吗?

解决方案

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);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top