我正面临一个问题,删除由休眠读取的实体。像数据库,并立即删除没有任何变化的实体负荷实体简单的调用,只是加入失败休眠/ MySQL - 批量更新返回意外的行数和ASCII字符
org.springframework.orm.hibernate4.HibernateOptimisticLockingFailureException:批量更新从更新[0]返回了意外的行数;实际行数:0;预计:1;嵌套异常是org.hibernate.StaleStateException:批处理更新从update [0]返回意外的行计数;实际行数:0;预计:1
我终于追溯到一个错误的字符串,其后有ascii字符 - 239(0xef),191(0xbf)和189(0xbd)。删除这些字符后,一切正常。由于hibernate delete调用在删除时匹配where子句中的所有字段,因此在字符串中存在这些字符时调用失败。
似乎在我们的设置中存在字符编码的问题,因为hibernate返回的实体/列不能用作条件中where子句的一部分 - 或者某些东西在翻译中丢失了。
我应该怎么办 - MySQL的安装或休眠设置,使这些问题能在未来