Coldfusion 10 ORM“解决关系时出错”

时间:2012-11-29 19:57:48

标签: hibernate orm coldfusion hibernate-mapping coldfusion-10

我已经有一个ORM应用程序工作了两年,现在我的笔记本电脑本地用于开发目的,ORM映射一直运行良好。该应用程序最初是在CF9中创建的,但我的本地CF在CF10发布后不久就升级到了10。从那时起,我有很多时间在这个应用程序上进行额外的开发。前几天,基于迁移,我不得不更改应用程序的一些目录路径。更改了CF和应用程序中的所有映射后,我再次启动应用程序,我得到了这个宝石:

  

解析cfc com.client.model.sessions中的SpeakerEvalQuestions关系时出错。检查此属性的列映射。

*请忽略我在命名我的一个orm对象“会话”时的错误判断。

路径从\web\sites\thesite\更改为\web\sites\thesite\www\

/ com是现在\web\sites\thesite\www\com

的CF映射

以下是来自CFC的花絮:

<cfcomponent output="false" persistent="true" table="tblSessions">

<cfproperty
    name="sessionID"
    fieldtype="id"
    type="numeric"
    sqltype="int"
    generator="identity" />

<cfproperty
    name="ses_key"
    type="string"
    sqltype="varchar(40)" />

<cfproperty
    name="sessionTitle"
    type="string"
    sqltype="varchar(250)" />

<cfproperty
    name="day1Start"
    ormtype="timestamp"
    sqltype="datetime" />

<cfproperty
    name="day1End"
    ormtype="timestamp"
    sqltype="datetime" />

<cfproperty
    name="day2Start"
    ormtype="timestamp"
    sqltype="datetime" />

<cfproperty
    name="day2End"
    ormtype="timestamp"
    sqltype="datetime" />

<cfproperty
    name="defaultCreditValue"
    type="numeric"
    sqltype="decimal(10,5)" />

<cfproperty
    name="sessionCode"
    type="string"
    sqltype="varchar(max)" />


<cfproperty 
    name="dateAdded" 
    fieldtype="column" 
    ormtype="timestamp"
    sqltype="datetime" 
    dbDefault="GETDATE()"
    insert="true" 
    update="false"  />


<cfproperty
    name="SpeakerEvalQuestions"
    singularname="SpeakerEvalQuestion"
    fieldtype="many-to-many" 
    cfc="SpeakerEvalQuestions"
    inversejoincolum="speakerEvalQuestionID"
    fkcolumn="sessionID"
    lazy="extra"
    orderby="sortOrder asc"
    linktable="tblSpeakerEvalQs_Sessions"
    type="array" />


</cfcomponent>

<cfcomponent output="false" persistent="true" table="tblSpeakerEvalQuestions">

<cfproperty
    name="speakerEvalQuestionID"
    fieldtype="id"
    type="numeric"
    generator="identity" />

<cfproperty
    name="question"
    type="string"
    sqltype="varchar(200)" />

<cfproperty
    name="scaleStartValue"
    type="numeric"
    sqltype="smallInt" />

<cfproperty
    name="scaleEndValue"
    type="numeric"
    sqltype="smallInt" />

<cfproperty
    name="sortOrder"
    type="numeric"
    sqltype="smallInt" />

<cfproperty
    name="display"
    type="numeric"
    sqltype="smallInt" />

<cfproperty 
    name="dateAdded" 
    fieldtype="column" 
    type="date"
    sqltype="datetime" 
    dbDefault="GETDATE()"
    insert="true" 
    update="false"  />


<cfproperty
    name="sessions"
    singularname="session"
    fieldtype="many-to-many" 
    CFC="sessions"
    fkcolumn="speakerEvalQuestionID"
    inversejoincolumn="sessionID"
    lazy="extra"
    orderby="day1start asc"
    linktable="tblSpeakerEvalQs_Sessions" />

</cfcomponent>

如果我从sessions.cfc注释掉SpeakerEvalQuestions属性,那么应用程序启动,当然其中一部分不起作用。但这至少证实了它的这一个属性,而不仅仅是长期改变属性的第一个属性,不会起作用。

同样,这一直很有效,直到我不得不改变路径。有人有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您是否启用了CF管理员中的任何缓存选项?如果是这样,请关闭它们,或清除缓存。