jpashop : update item - dirty checking & merge

This commit is contained in:
kim
2021-01-25 20:10:01 +09:00
parent 423dea6f22
commit 854e0678ec
2 changed files with 23 additions and 9 deletions

View File

@@ -62,17 +62,19 @@ public class ItemController {
}
@PostMapping("/items/{itemId}/edit")
public String updateItemForm(BookForm form, @PathVariable String itemId) {
public String updateItemForm(BookForm form, @PathVariable Long itemId) {
Book book = new Book();
book.setId(form.getId());
book.setName(form.getName());
book.setPrice(form.getPrice());
book.setStockQuantity(form.getStockQuantity());
book.setAuthor(form.getAuthor());
book.setIsbn(form.getIsbn());
// Book book = new Book();
// book.setId(form.getId());
// book.setName(form.getName());
// book.setPrice(form.getPrice());
// book.setStockQuantity(form.getStockQuantity());
// book.setAuthor(form.getAuthor());
// book.setIsbn(form.getIsbn());
// itemService.saveItem(book);
itemService.updateItem(itemId, form);
itemService.saveItem(book);
return "redirect:/items";
}
}

View File

@@ -1,5 +1,7 @@
package com.example.jpashop.service;
import com.example.jpashop.controller.BookForm;
import com.example.jpashop.domain.item.Book;
import com.example.jpashop.domain.item.Item;
import com.example.jpashop.repository.ItemRepository;
import lombok.RequiredArgsConstructor;
@@ -20,6 +22,16 @@ public class ItemService {
itemRepository.save(item);
}
@Transactional
public void updateItem(Long itemId, BookForm bookParam) {
Book findItem = (Book) itemRepository.findOne(itemId);
findItem.setPrice(bookParam.getPrice());
findItem.setName(bookParam.getName());
findItem.setStockQuantity(bookParam.getStockQuantity());
findItem.setAuthor(bookParam.getAuthor());
findItem.setIsbn(bookParam.getIsbn());
}
public List<Item> findItem() {
return itemRepository.findAll();
}