您好,我有以下結構,它運行原始查詢,然後保存結果。但是,當一個異常的原始查詢occoured,我無法保存我的對象更多,表明錯誤發生當前交易發生錯誤後保存對象
[c3p0] A PooledConnection that has already signalled a Connection error is still in use!
的類:
@Service("myService")
@Transactional(propagation = Propagation.REQUIRED)
public class MyService {
cron(){
Job job = myDao.nextJob();
try {
myDao.myFunction(job);
job.setStatus(Status.COMPLETE);
} catch (Exception e) {
job.setStatus(Status.ERROR);
}
myDao.save(job);
}
}
@Repository("myDao")
public class MyDao extends HibernateDaoSupport {
@Autowired
public void setHibernateSessionFactory(@Qualifier("sessionFactory") SessionFactory sessionFactory) {
setSessionFactory(sessionFactory);
}
public void myFunction(final Job job) {
final Session session = getCurrentSession();
session.flush();
session.doWork(new Work() {
@Override
public void execute(Connection con) throws SQLException {
// do something which creates an SQL error
}
}
}
}
我能做些什麼來得到一個新的工作會議爲了保存我的對象?
爲什麼不使用Spring Data JPA?你爲什麼試圖自己訪問連接? –
,因爲我用jdbc運行批量更新,我認爲原始查詢不是問題 – wutzebaer