From 87157cc19f21ad96a92c6c8bb36f4c863d0938cf Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Wed, 20 Oct 2021 10:36:06 +0300 Subject: [PATCH] sample migration for digitalSignature update --- .../service/DigitalSignatureService.java | 15 ++++++++------- .../repository/DigitalSignatureRepository.java | 11 +++++++++++ 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DigitalSignatureService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DigitalSignatureService.java index 0263da393..5c4f17ef5 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DigitalSignatureService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DigitalSignatureService.java @@ -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"); - }); + } + } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DigitalSignatureRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DigitalSignatureRepository.java index 58fab317e..3243618ee 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DigitalSignatureRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/DigitalSignatureRepository.java @@ -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 { + + + @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); + }