0
我有一個要求,我根據uuid的更新行,其中一個uuid可能會關聯到多行。休眠更新有時不起作用
這裏是場景: 4a90558c-4a5b-4af7-8c68-60ff81f74ef3是我的uuid,它存在於我的數據庫中的8列。
和我的Java代碼如下:
try{
session = sessionFactory.getCurrentSession();
tx = session.getTransaction();
criteria = session.createCriteria(Archive.class);
criteria.add(Restrictions.eq("bagUuid", "4a90558c-4a5b-4af7-8c68-60ff81f74ef3"));
ScrollableResults items = criteria.scroll();
while (items.next()) {
Archive archive = (Archive)items.get(0);
archive.setDecision(1);
archive.setOperatorAssigned("test");
session.saveOrUpdate(archive);
session.flush();
session.clear();
}
tx.commit();
LOGGER.info("Archive Record is updated: "+archive.getFilePath());
}catch(Exception e){
recordUpdated = false;
tx.rollback();
LOGGER.error("Archive Record failed to update due to exception in updateArchiveRecord method: "+e.getMessage());
}
這裏有時會關聯到UUID的所有記錄被更新,但有時會失敗。 我認爲這可能是Hibernate API的一個問題。 其他人是否也面臨同樣的問題。
如果有人告訴你,已經失敗了,這將是你的下一個問題嗎?最可能的情況是:它以哪種方式失敗?它忽略了更新還是拋出了異常?如果這是一個例外,你會問什麼?可能:哪個例外? –
使用'e.printStackTrace();'捕獲 –
根本沒有例外。有時更新8個,有時2個,有時3個 – subhfyu546754