весной я определил методы вставки * с их собственной транзакцией.Когда я вызываю один из этих методов (давайте назовем его insertStackOverflow
), он вызывает внешний метод (называемый insertAndUpdateVersion
), который имеет свою собственную аннотацию, определенную следующим образом: @Transactional(propagation=Propagation.REQUIRED,isolation=Isolation.READ_COMMITTED, readOnly=false, rollbackFor=Exception.class)
.Он выполняет вставку, а затем вызывает другой метод с именем updateNoTransaction
.В этом последнем методе транзакция застревает, и я не понимаю, почему.Несколько советов?Спасибо
MediaDocument mediaDocument=(MediaDocument)domainObject;
String sql = "UPDATE "+DB.TB_DOCUMENTI_ALFRESCO+" SET " +
"size = ?," +
"data_modifica = ?," +
"autore_modifica = ?," +
"annullato = ?, " +
"versione = ?, " +
"bucket_name = ?, " +
"object_name = ? " +
"WHERE id = ?";
FirmaUtil.settaDatiPerUpdate(mediaDocument);
Object[] params = new Object[] {
mediaDocument.getFileSize(),
mediaDocument.getDataModifica(),
mediaDocument.getAutoreModificaId(),
mediaDocument.isAnnullato(),
mediaDocument.getMinioVersion(),
mediaDocument.getMinioBucketName(),
mediaDocument.getMinioIdSha(),
mediaDocument.getPrimaryKey().getId()
};
jdbcTemplate.update(sql, params);
return mediaDocument;