Coldfusion ORM / Hibernate StaleStateException - PullRequest
4 голосов
/ 12 мая 2011

Я получаю следующие ошибки каждый раз, когда выполняю очень простые операции сохранения в 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 запускает пакет добавления / обновления.Пожалуйста, помогите !!!

1 Ответ

0 голосов
/ 27 июня 2012

Для ударов попробуйте добавить

ORMFLush();

после

EntitySave(myDeal);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...