import org.openecomp.core.dao.UniqueValueDao;
 import org.openecomp.core.util.UniqueValueUtil;
+import org.openecomp.core.utilities.CommonMethods;
 import org.openecomp.sdc.common.errors.CoreException;
 import org.openecomp.sdc.common.errors.ErrorCode;
 import org.openecomp.sdc.vendorlicense.VendorLicenseConstants;
   public void updateLimit(LimitEntity limit) {
     getLimit(limit);
     validateLimit(limit);
-    vendorLicenseFacade.updateLimit(limit);
-    updateParentForLimit(limit);
+    LimitEntity retrieved = limitDao.get(limit);
+    if(!retrieved.equals(limit)){
+      vendorLicenseFacade.updateLimit(limit);
+      updateParentForLimit(limit);
+    }
   }
 
   private boolean isLimitPresent(LimitEntity limit) {
       EntitlementPoolEntity entitlementPoolEntity =
           entitlementPoolDao.get(new EntitlementPoolEntity(limit.getVendorLicenseModelId(),
               limit.getVersion(), limit.getEpLkgId()));
-      vendorLicenseFacade.updateEntitlementPool(entitlementPoolEntity);
+      entitlementPoolEntity.setVersionUuId(CommonMethods.nextUuId());
+      entitlementPoolDao.update(entitlementPoolEntity);
     }
 
     if ("LicenseKeyGroup".equals(limit.getParent())) {
       LicenseKeyGroupEntity licenseKeyGroupEntity = licenseKeyGroupDao.get(
           new LicenseKeyGroupEntity(limit.getVendorLicenseModelId(), limit.getVersion(),
               limit.getEpLkgId()));
-      vendorLicenseFacade.updateLicenseKeyGroup(licenseKeyGroupEntity);
+      licenseKeyGroupEntity.setVersionUuId(CommonMethods.nextUuId());
+      licenseKeyGroupDao.update(licenseKeyGroupEntity);
     }
   }