0
我知道這聽起來很奇怪,但推理很簡單。 我有一個使用Spring + Hibernate開發的服務器端應用程序。Spring jpa在回滾期間保存數據
我有一個自定義的servlet:
@Transactional
@Component
public class ReceivingSms implements HttpRequestHandler {
...
...
...
@Override
public void handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
....reading data from parameters and store into the db....
entityManager.persist(someEntities);
//at some point I found that there is some error and I've to rollback the entire transaction
if(error){
//HERE I WANT TO SAVE A LOG ON DB
throw new RuntimeException("Error");
}
}
原因是這樣的:
- 我讀的是到達這個servlet
- 我存儲在數據庫的一些數據得出的參數從這些參數
- 在某些時候我知道有一個錯誤,我無法完成該過程。所以我拋出一個RuntimeException在返回之前回滾整個事務
- ,我想在db中保存一個特定的實體(一種日誌)。 Howewer另外,如果我嘗試,這個堅持卷從RuntimeException的
回從這裏我的問題:有是存儲在數據庫中的實體和回滾事務的休息方式嗎?
感謝