위 코드는 기존에 작성되었던 코드이다. 컨트롤러 내부에서 dto를 엔티티 객체로 변환하고 변환된 객체를 service 로직에서 사용하고 있다. 이렇게 쿼리가 실행된다면 발생하는 문제점이 데이터의 안전성이 보장되지 않는다는 것이다. 예를 들어, service 클래스의 createCv가 실행되어 새로운 Cv가 생성되고 repository에 저장되었는데 아래 injectLowDomain에서 실패하게 되면 작업은 종료되어 적절한 응답을 주지 못했지만 저장소에는 새로운 Cv가 있을 것이다. 즉, 데이터의 일관성을 보장하기 위한 작업이 필요했고 helper라는 클래스를 만들어서 트랜잭션을 적용시켜줬다. 트랜잭션은 한 번에 실행되어야 하는 일련의 연산들을 모아놓은 것이다. 예를 들어, 여러 개의 작업이 실행되는 경우..