본문 바로가기

강의 내용 정리/스프링부트와 JPA 활용 1

7-4~7-6. 상품등록, 상품목록, 상품수정(중요)

home.html

등록 : /items/new

목록 : /items

 

-> Form 만들고, controller 만들자.

 

Order에서 처럼 Book도 static 생성자 메서드로 만들기 ( set 많이 쓰는 것 좋지 않다.)

 

싱글테이블이라 책 관련 아닌 것은 null이 맞다.

 

 

 

=========================================== 상품 수정 ( 진짜 중요 )

=========================================== 상품 수정 ( 진짜 중요 )

=========================================== 상품 수정 ( 진짜 중요 )

=========================================== 상품 수정 ( 진짜 중요 )

=========================================== 상품 수정 ( 진짜 중요 )

=========================================== 상품 수정 ( 진짜 중요 )

 

 

 

JPA에서는 병합 보다는 변경감지.

 

상품 목록에서 수정 누르면

itemList.html

보다시피 items/{id}/edit 로 간다.

 

 

 

ItemController.java
updateItemForm.html

이렇게 하면 URL에 id 값이 노출되므로 위험.

-> 다른 유저의 정보를 변경 할 수 있다.

-> 뒷단에서 user가 이 아이템에 대한 권한이 있는지 체크하는 로직이 있어야함.

 

 

 

itemController.java

이렇게 하면 URL에 id 값이 노출되므로 위험.

-> 다른 유저의 정보를 변경 할 수 있다.

-> 뒷단에서 user가 이 아이템에 대한 권한이 있는지 체크하는 로직이 있어야함.

 

itemRepository.java

타고타고 들어오면 여기로 오는데 넘어온 Item이 id값이 있으면 em.merge를 한다.

-> merge는 실무에서 거의 안씀  -> 다음 시간에 설명.

-> JPA에서 권장하는 수정방법도 설명.

Recent Posts
Popular Posts
Recent Comments