인프런 커뮤니티 질문&답변
어떤게 영속 엔티티고 어떤게 준영속 엔티티인가요?
작성
·
211
0
아래에서 Book book 할때 book이 준영속 엔티티 인가요?
어떤게 영속 엔티티고 어떤게 준영속 엔티티인지 잘 구분이 안가는데 좀더 쉽게 설명해주실수 있나요?
@PostMapping("items/{itemId}/edit")
public String updateItem(@PathVariable String itemId, @ModelAttribute("form") BookForm form ) {
System.out.println("form.getId() ########################################## : "+ form.getId());
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);
return "redirect:/items";
}
그리고 아래 로직을 변경 감지로 바꿔야 되는건가요?
src\main\java\jpabook\jpashop\repository\ItemRepository.java
// 아이템 등록 함수
public void save(Item item) {
if(item.getId() == null) {
System.out.println("아이템 등록 실행 !!!!!!!!!!!!!!!!!!!!!!!!!!!");
System.out.println("id 확인 :::::::::::::" + item.getId());
em.persist(item); // 미등록 아이템일 경우 등록
} else {
System.out.println("아이템 수정 실행 !!!!!!!!!!!!!!!!!!!!!!!!");
em.merge(item); // 이미 등록된 아이템일 경우 수정
}퀴즈
회원 가입 시 화면 입력 데이터를 엔티티 객체 대신 별도의 Form 객체로 받는 주된 이유는 무엇일까요?
데이터베이스 성능을 최적화하기 위해서
화면 종속적인 데이터나 유효성 검증 로직을 분리하기 위해서
JPA 영속성 컨텍스트와 직접적인 관계를 맺기 위해서
코드의 자동 생성 기능을 활용하기 위해서





