У меня есть таблица в базе данных создать с помощью SQL:версия увеличивается, хотя saveOrUpdate не удалось
CREATE TABLE `s_supplier` (<br/>
`id` int(11) NOT NULL auto_increment,<br/>
`code` varchar(32) collate utf8_bin NOT NULL,<br/>
`name` varchar(128) collate utf8_bin NOT NULL,<br/>
`version` int(11) NOT NULL default '0'<br/>
PRIMARY KEY (`id`),<br/>
UNIQUE KEY `ui_uom_category_code` (`code`)<br/>
)
База данных существующей 2 строки:
(1, code1, NAME1 1)
(2, Кодекса2 , имя2, 1)
Используя пружинный спящий режим:
шаг 1:
я загрузить строку 1 к объекту, а затем изменить код для code2 (такой же, как ряд 2). , а затем позвоните
org.springframework.orm.hibernate3.support.HibernateDaoSupport.getHibernateTemplate(). SaveOrUpdate (entity);
-> Это вызывает исключение «дубликат кода» -> OK
шаг 2: изменить код code3, а затем сохранить снова описанным выше способом -> Это вызывает исключение «оптимистичным исключение строка была обновлена или удалена другим пользователем »(я просто тестирую на одного пользователя) -> KO
После отслеживания я обнаружил, что после шага 1 версия автоматически увеличивает 1 на объекте. Я думаю, что это не должно произойти, потому что произошло исключение.
Мой вопрос:
Является ли, что ошибка яровых рамок или спящий режим?