質問

ColdFusion 9 Hibernate Integrationを使用してエントリエンティティに外部キー値を挿入しようとすると、このエラーについて誰が知っていますか?

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;
    }
}
役に立ちましたか?

解決

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