Coldfusion ORM / Hibernate StaleStateException

时间:2011-05-12 16:46:40

标签: hibernate orm coldfusion

每次在Coldfusion 9.01 ORM上执行非常简单的保存操作时,我都会收到以下错误:

Hibernate操作中的异常。 更新/删除的行不存在或会话包含过时数据。根本原因:org.hibernate.StaleStateException:批量更新从update [0]返回意外的行数;实际行数:0;预期:1

下面的代码实际上会更新数据库中的对象,但是这个错误出现在页面的底部,大概是当Coldfusion在请求结束时自动调用ormFlush()时。

<cfscript>
myDeal = entityloadbypk('serviceCategory',1);
myDeal.setScName('Automotive1');
EntitySave(myDeal);
writedump(myDeal);
</cfscript>

这是我正在使用的对象,但是当使用多个对象执行此操作时会出现同样的问题。

<cfscript>
/** 
* @persistent 
* @table y_serviceCategories
*/ 
component{ 
    property name="scID" fieldtype="id" datatype="int" generator="native"; 
    property string scName; 
    property priority; 

    property name="serviceSubCategory" fieldtype="one-to-many" cfc="serviceSubCategory" fkcolumn="scID";

    public array function getSubCategoryByPriority(){
        return EntityLoad("serviceSubCategory", {scID=getscID()}, "Priority ASC");
    }
}
</cfscript>

我目前的想法是,Hibernate批处理中有一些陈旧的对象(与代码中的对象无关),每次Hibernate运行添加/更新批处理时都会失败。请帮忙!!!

1 个答案:

答案 0 :(得分:0)

对于踢球,请尝试添加

ORMFLush();

EntitySave(myDeal);