diff --git a/src/main/java/kr/re/etri/autoflow/repository/WorkflowRepository.java b/src/main/java/kr/re/etri/autoflow/repository/WorkflowRepository.java index 49fc736..efbb29e 100644 --- a/src/main/java/kr/re/etri/autoflow/repository/WorkflowRepository.java +++ b/src/main/java/kr/re/etri/autoflow/repository/WorkflowRepository.java @@ -5,5 +5,4 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; public interface WorkflowRepository extends JpaRepository, JpaSpecificationExecutor { - Integer findVersionById(Long id); } diff --git a/src/main/java/kr/re/etri/autoflow/service/WorkFlowService.java b/src/main/java/kr/re/etri/autoflow/service/WorkFlowService.java index 82dab80..c0ce018 100644 --- a/src/main/java/kr/re/etri/autoflow/service/WorkFlowService.java +++ b/src/main/java/kr/re/etri/autoflow/service/WorkFlowService.java @@ -24,7 +24,6 @@ public class WorkFlowService { private final WorkflowRepository workflowRepository; private final WorkflowSpecification workflowSpecification; - public List findAll() { return workflowRepository.findAll(); } @@ -33,6 +32,7 @@ public class WorkFlowService { return workflowRepository.findById(id); } + @Transactional public WorkflowEntity save(WorkflowEntity workflow) { if (workflow.getId() == null) { @@ -40,9 +40,10 @@ public class WorkFlowService { workflow.setVersion(1); } else { // 업데이트 시 기존 max 버전 + 1 - Integer maxVersion = workflowRepository.findVersionById(workflow.getId()); - workflow.setVersion(maxVersion != null ? maxVersion + 1 : 1); - } + WorkflowEntity existing = workflowRepository.findById(workflow.getId()) + .orElseThrow(() -> new IllegalArgumentException("워크플로우가 존재하지 않습니다. id=" + workflow.getId())); + Integer maxVersion = existing.getVersion(); + workflow.setVersion(maxVersion != null ? maxVersion + 1 : 1); } return workflowRepository.save(workflow); }