简体   繁体   English

当插入查询失败或发生异常时,Hibernate 从二级缓存中删除所有缓存对象 - 如何防止它。请提出建议

[英]Hibernate remvoves all cached objects from second level cache when insert query is failed or when excpetion occures - how to prevent it.please suggest

当插入查询失败或发生异常时,Hibernate 从二级缓存中删除所有缓存的对象 - 如何防止它。请提出建议

    public Response createOrUpdateRouting(Routing request) {
`Transaction tr = null;`

    appLog = AppLog.getAppLog();

    response = new Response();

if (null != this.sessionFactory) {
session = this.sessionFactory.openSession();
} else if (this.sessionFactory == null) {
sessionFactory = HibernateUtil.getSessionFactory();
session = this.sessionFactory.openSession();
}
try {
tr = session.beginTransaction();
session.save(request);
response.setStatus(Status.SUCCESS);
response.setResponseCode(HttpStatus.SC_OK);
if(null != request && request.getId() > 0){
response.setResponseMsg(Constants.UPDATE_MSG);
}else{
response.setResponseMsg(Constants.SUCESS_MSG);
}
session.flush();
tr.commit();
} catch (Exception ex) {
tr.rollback();
appLog.error("Exception occurred in createOrUpdateRouting", ex);
response.setStatus(Status.FAILURE);
response.setResponseCode(HttpStatus.SC_INTERNAL_SERVER_ERROR);
response.setResponseMsg(ex.getMessage());
} finally { 
session.close();
}
return response;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM