我正面臨一個問題,刪除由休眠讀取的實體。像數據庫,並立即刪除沒有任何變化的實體負荷實體簡單的調用,只是加入失敗休眠/ 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的安裝或休眠設置,使這些問題能在未來