Inflearn Community Q&A
상품 수정시 컨트롤러에서 DirtyChecking 에 대한 질문이 있습니다
Resolved
Written on
·
137
0
** * 상품 수정 폼 */
@GetMapping(value = "/items/{itemId}/edit")
public String updateItemForm(@PathVariable("itemId") Long itemId, Model model) {
Book item = (Book) itemService.findOne(itemId);
BookForm form = new BookForm();
form.setId(item.getId());
form.setName(item.getName());
form.setPrice(item.getPrice());
form.setStockQuantity(item.getStockQuantity());
form.setAuthor(item.getAuthor());
form.setIsbn(item.getIsbn());
model.addAttribute("form", form);
return "items/updateItemForm";
}
트랜잭션이 끝나는 시점에 변경을 감지해서 DB에 반영해주는 거라고 알고 있는데
컨트롤러의 이 메서드에서 어느 시점에 트랜잭션이 끝나는건가요?
JPAspringjava웹앱spring-boot
Answer 1
1
안녕하세요. charco 님, 공식 서포터즈 codesweaver 입니다.
해당 코드는 실제 상품 수정이 일어나는 코드가 아닌, 상품 수정을 위한 '기존 상품의 정보를 조회'하여 화면에 출력하는 코드입니다. 그래서 변경감지가 일어나지는 않을것입니다.
트랜잭션이 발생하는 순간은 itemService.findOne()을 호출할때 시작되어 해당 메서드가 끝날때 트랜잭션도 종료됩니다.
감사합니다.





