public void saveRevs(final MaterialRevisions materialRevisions) { final MaterialRevisions unsavedRevisions = new MaterialRevisions(); for (MaterialRevision materialRevision : materialRevisions) { unsavedRevisions.addRevision(filterUnsaved(materialRevision)); } if (unsavedRevisions.isEmpty()) { return; } transactionTemplate.execute( new TransactionCallbackWithoutResult() { @Override protected void doInTransactionWithoutResult(TransactionStatus status) { materialRepository.save(unsavedRevisions); } }); }