sample migration for digitalSignature update

This commit is contained in:
Timo Bejan 2021-10-20 10:36:06 +03:00
parent 3f79dc6e9b
commit 87157cc19f
2 changed files with 19 additions and 7 deletions

View File

@ -56,14 +56,15 @@ public class DigitalSignatureService {
@Transactional
public void updateDigitalSignature(DigitalSignatureEntity digitalSignatureModel) {
digitalSignatureRepository.findById(DigitalSignatureEntity.ID).ifPresentOrElse(digitalSignature -> {
digitalSignature.setCertificateName(digitalSignatureModel.getCertificateName());
digitalSignature.setLocation(digitalSignatureModel.getLocation());
digitalSignature.setContactInfo(digitalSignatureModel.getContactInfo());
digitalSignature.setReason(digitalSignatureModel.getReason());
}, () -> {
int updateCount = digitalSignatureRepository.updateDigitalSignature(DigitalSignatureEntity.ID,
digitalSignatureModel.getReason(),
digitalSignatureModel.getLocation(),
digitalSignatureModel.getContactInfo(),
digitalSignatureModel.getCertificateName());
if (updateCount == 0) {
throw new NotFoundException("Digital Signature Not found");
});
}
}

View File

@ -2,6 +2,17 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persis
import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.DigitalSignatureEntity;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import javax.persistence.Column;
public interface DigitalSignatureRepository extends JpaRepository<DigitalSignatureEntity, String> {
@Modifying
@Query("update DigitalSignatureEntity e set e.reason = :reason, e.location = :location, e.contactInfo = :contactInfo, e.certificateName= :certificateName " +
"where e.id = :id")
int updateDigitalSignature(String id, String reason, String location, String contactInfo, String certificateName);
}