@Override public void updateCredential(UserCredentialModel cred) { if (cred.getType().equals(UserCredentialModel.PASSWORD)) { updatePasswordCredential(cred); } else if (UserCredentialModel.isOtp(cred.getType())) { updateOtpCredential(cred); } else { CredentialEntity credentialEntity = getCredentialEntity(user, cred.getType()); if (credentialEntity == null) { credentialEntity = setCredentials(user, cred); credentialEntity.setValue(cred.getValue()); em.persist(credentialEntity); user.getCredentials().add(credentialEntity); } else { credentialEntity.setValue(cred.getValue()); } } em.flush(); }