0
我使用Spring和Hibernate框架,並試圖更新的對象並不在DB(不存在的條目)存在,但它返回的錯誤HTTP Status 500
如何處理Hibernate異常?
HTTP Status 500 - Request processing failed; nested exception is org.springframework.orm.hibernate4.HibernateOptimisticLockingFailureException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; nested exception is org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
這是我的服務,但它並沒有趕上例外
@Override
public ResponseEntity<?> update(CoverSheet coverSheet) {
try {
this.coverSheetDao.edit(coverSheet);
return CryptoUtils.generateSuccessResponseEntity(coverSheet);
} catch (Exception e) {
e.printStackTrace();
return CryptoUtils.generateFailureResponseEntity(ErrorCode.CODE_SQL_EXCEPTION, e.getMessage());
}
}
你能幫我嗎?非常感謝!
它deppends異常上。你的情況我會說有一個不存在的數據庫中的條目的更新,所以我會發送一個404返回碼。但是,只有我的意見,沒有足夠的關於你的功能的知識 – Jens
@Jens你能否給我更多的細節? –
只是爲了理解這個問題。你知道異常是在哪裏拋出的嗎?如果它位於try-block內部但未被捕獲,那對我來說就非常令人驚訝。它可能比在構建過程中有些東西被破壞,並且它運行了過時的代碼版本。異常類型應該被catch(Exception)塊捕獲。 –