반응형 Merge2 @Version을 사용하지 않는데 ObjectOptimisticLockingFailureException 등장?! 예측하지 못한 예외 등장?! Kotlin + Spring Boot + Spring Data Jpa 등 다양한 기술을 사용한 프로젝트를 진행하고 있다. 어느 평화로운 날.. 갑자기 프로젝트의 스프링 부트 버전에서 Tomcat 취약점이 발견되어 최신 버전 3.4.1로 스프링 부트 버전을 올렸다. 버전을 올리고 테스트 코드를 실행하면서 잘 동작하던 코드에서 ObjectOptimisticLockingFailureException이 발생했다.로그를 보면 StateObjectStateException이 먼저 발생하고 해당 에러를 OptimisticLocking 예외로 감쌌다. 프로젝트에서는 현재 낙관적 락(@Version)을 사용하지 않고 있어서 당황했다.기존 스프링 부트 버전으로 다운 그레이드하면 예외를 던진 코.. 개발/JPA 2025. 1. 9. Git 병합 (Fast-Forward 병합, 3-way 병합) 병합 프로젝트에서 main 브랜치가 존재한다. 그럼 다른 브랜치에서 작업을 하고 이를 main 브랜치에 반영해야 한다. 분리된 브랜치를 하나의 브랜치로 합치는 작업을 병합이라고 한다. 각각의 브랜치에서 수정된 내용을 하나의 브랜치로 병합한다. 과거 수동(노가다)으로 코드를 하나하나 바꾸는 것은 정말 어렵고 귀찮은 일이었다. 깃을 사용해 자동 병합이 가능해지며 개발자의 삶이 윤택해졌다. 깃의 자동 병합은 원본을 기준으로 두 파일의 변경 이력을 비교하고, 변경된 파일 내용이 발견되면 자동으로 수정된 코드 내용을 병합한다. 그러나 자동으로 병합이 불가능한 것도 존재하는데, 이를 충돌이라고 한다. 병합 방식 병합 방식으로는 크게 2가지가 있다. Fast-Forward 병합 3-way 병합 실습 환경을 구축해보겠.. Git 2024. 1. 18. 이전 1 다음 반응형