작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
186
0
// Controller
@PostMapping("items/{itemId}/edit")
public String updateItem(@PathVariable("itemId") Long itemId, @ModelAttribute("form") BookForm form) {
itemService.updateItem(new UpdateItemDto(form));
return "redirect:/items";
}
// Entity
@Entity
@DiscriminatorValue("B")
@Getter @Setter
public class Book extends Item {
private String author;
private String isbn;
public void updateBook(UpdateItemDto updateItemDto) {
this.author = updateItemDto.getAuthor();
this.isbn = updateItemDto.getIsbn();
this.setId(updateItemDto.getId());
this.setName(updateItemDto.getName());
this.setPrice(updateItemDto.getPrice());
this.setStockQuantity(updateItemDto.getStockQuantity());
}
}
// Service
@Transactional
public void updateItem(UpdateItemDto updateItemDto) {
Book foundedItem = (Book) itemRepository.findOne(updateItemDto.getId());
foundedItem.updateBook(updateItemDto);
}
선생님 양질의 강의 잘보고있습니다.
엔티티에서 북이 아이템을 상속하고있는데
그 상속하는 필드에 값을 변경시 위의 코드와 같이 셋터를 불러서 값을 변경시켜주면될까요? 아니면
아이템에도 별도의 메소드를 생성하여 값을 변경해주는게 좋은가요?
답변 1
0