전체 글 62

14주차 CafeMate 주문 관리 프로세스 구현

어느새 인증 구현, 메뉴구현에 이어 가장 중요하다 싶은 주문 관리 페이지를 만들어 보도록 하겠습니다. 시나리오 1. 고객이 주문을 했을 때, 직원이 주문 등록 페이지에서 쉽게 주문 정보를 입력한다. 2. 직원은 간단한 폼을 사용하여 필요한 정보(이름,연락처,주문내역 등)을 입력하도록 한다. 3. 주문 등록 페이지에 주문 상태(조리중, 조리완료, 배달중,배달완료)를 등록하고 추후 변경할 수 있도록 합니다. 4. 메뉴 품절정보를 표시하여 직원들이 주문시 품절된 품목을 확인할 수 있도록 합니다. 일단 UI를 보면 로직을 짜기 쉽기에 이런식으로 만들면 될듯 합니다. 다시 정확하게 컨트롤러에 넘길 데이터를 알기 위해 주문 테이블 스키마를 자세히 살펴보겠습니다. 그리고 팀원이 짠 OrderService 코드중 주문..

말만 들어도 어려워 보이는 트랜잭션에 대해 자세히 살펴보자 1편

개요 프로젝트를 진행하면서 가끔씩 service부분에서 @Transaction이 readOnly=true로 되어있어 현재 수행하는 작업 단위(save,update등)가 불가능하다는 오류가 발생했다는 에러코드가 뜹니다. 물론 제가 아는 바 로는 트랜잭션이 하나의 단위로 원자성 단위로 진행되기 위해 선언한다고 대충은 알고 있습니다. 하지만 트랜잭션은 기술면접에서도 중요하게 다루며 자주 생각해야하고 마주쳐야 하는 문제이기 때문에 이번 기회를 통해 자세히 살펴보려고 합니다. 이번 시간을 통해 굉장히 긴 내용으로 다루게 될것이며 학교수업과 데이터베이스 개론의 책을 보며 정리하는 글이므로 자세하게 공부하고 싶은 분은 이번 글을 통해 배워가셨으면 좋겠습니다. 트랜잭션이란 데이터베이스는 다수의 사용자가 동시에 사용하더..