Я получаю следующие ошибки каждый раз, когда выполняю очень простые операции сохранения в Coldfusion 9.01 ORM:
Исключение в операции Hibernate.Либо обновленная / удаленная строка не существует, либо сеанс содержит устаревшие данные.Основная причина: org.hibernate.StaleStateException: пакетное обновление вернуло неожиданное количество строк из обновления [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 запускает пакет добавления / обновления.Пожалуйста, помогите !!!