每次在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运行添加/更新批处理时都会失败。请帮忙!!!
答案 0 :(得分:0)
对于踢球,请尝试添加
ORMFLush();
后
EntitySave(myDeal);