@Override @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) public CtlSchemaMetaInfo save(CtlSchemaMetaInfo object) { String tenantId = object.getTenant() != null ? object.getTenant().getStringId() : null; String applicationId = object.getApplication() != null ? object.getApplication().getStringId() : null; LOG.debug("Try to save or find meta info with fqn [{}], tenantId [{}] and applicationId [{}]", object.getFqn(), tenantId, applicationId); CtlSchemaMetaInfo uniqueMetaInfo = findByFqnTenantIdAndApplicationId( object.getFqn(), tenantId, applicationId); if (uniqueMetaInfo == null) { uniqueMetaInfo = super.save(object, true); LOG.debug("Save result: {}", uniqueMetaInfo); } else { LOG.debug("Search result: {}", uniqueMetaInfo); } return uniqueMetaInfo; }