当我尝试使用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;
}
}
答案 0 :(得分:1)
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);