목차
홈 화면과 레이아웃
회원 등록
회원 목록 조회
상품 등록
상품 목록
상품 수정
변경 감지와 병합
상품 주문
주문 목록 검색, 취소
홈 화면과 레이아웃
회원 등록
배운것
1. 실제 Controller에서 넘어오는 Validation과 도메인이 원하는 Validation이 다를 수 있기 때문에 엔티티를 직접 사용하지 말고 폼을 따로 만들어서 사용하는 것이 더 깔끔하다. 엔티티를 직접 사용하는 순간 코드가 더러워지고 화면 기능에 종속적이게 된다.
회원 목록 조회
상품 등록
상품 목록
상품 수정
변경 감지와 병합(merge)
배운 것
1. 데이터베이스에 한번 갔다와서 식별자가 있으면 준영속 엔티티라고 한다. 준영속 엔티티는 영속성 컨텍스트가 더는 관리하지 않는 엔티티를 말한다. 문제점은 JPA가 관리하는 영속 엔티티는 Commit이나 flush 할 때 Dirty Checking을 통해 변경된 부분을 자동으로 업데이트해주지만 준영속 엔티티는 그렇지 못한다.
방법 1.
-> 영속성 컨텍스트에서 엔티티를 다시 조회한 후에 데이터를 수정하는 방법 -> 영속성 컨텍스트에 다시 엔티티가 들어가므로 Dirty Checking을 통해 변경을 감지할 수 있다. 병합 보다 더 좋은 방법이다.
방법 2.
-> 병합 방법 1을 자동으로 해줌
-> 주의점 !!! -> 값이 없으면 null로 업데이트되므로 데이터가 사라질 수 있으므로 사용하지 않는 것이 좋다. 그리고 원하는 속성값만 변경하고 싶어도 merge를 사용하면 모든 속성값을 변경해야 한다.
결론 -> merge는 그냥 사용하지 말자.
상품 주문
주문 목록 검색, 취소
'웹 개발 > Back End' 카테고리의 다른 글
실전! 스프링 부트와 JPA 활용2 - API 개발 고급 - 지연 로딩과 조회 성능 최적화 (0) | 2022.01.25 |
---|---|
실전! 스프링 부트와 JPA 활용2 - API 개발 기본 (0) | 2022.01.25 |
실전! 스프링 부트와 JPA 활용1 - 주문 도메인 개발 (0) | 2022.01.07 |
실전! 스프링 부트와 JPA 활용1 - 상품 도메인 개발 (0) | 2022.01.07 |
실전! 스프링 부트와 JPA 활용1 - 회원 도메인 개발 (0) | 2022.01.06 |
댓글