스프링부트-JPA-활용-4
웹 계층 개발
implementation 'org.springframework.boot:spring-boot-devtools'
implementation 'org.springframework.boot:spring-boot-devtools'
핫스와핑 기능.
null 이면 더이상 진행 안한다.
요구사항이 간단하면 @entity member 써도됨
허나 실무에서는 복잡하기때문에 memberFormEntity 를 별도로 만들어 줘야됨.
(지저분해지거나, 유지보수도 어려워지고..)
엔티티를 순수하게 유지해주는게 가장 좋다.
상품 등록
상품 수정
변경 감지와 병합
jpa 트랜잭션때 더티 체킹으로 변경된 데이터 자동 업데이트.
준영속 엔티티?
영속성 컨텍스트가 더는 관리하지 않는 엔티티를 말한다.
(여기서는 itemService.saveItem(book) 에서 수정을 시도하는 Book 객체다. Book 객체는 이미 DB 에 한번 저장되어서 식별자가 존재한다. 이렇게 임의로 만들어낸 엔티티도 기존 식별자를 가지고 있으면 준 영속 엔티티로 볼 수 있다.)
아이디가 셋팅된 객체 (뭔가 ? 아이디가 설정되 데이터베이스에 다녀온?)
준영속 상태 객체.
1.변경감지 객체 기능 사용
2.병합 사용
병합은 준영속 상태의 엔티티를 영속 상태로 변경할 때 사용하는 기능이다.
merge?
위에서 짠 코드랑 동일.
merge 영속성 객체 / item 은 영속성 컨텐츠로 관리안됀 친구
변경 감지 기능은 원하는 속성만 변경 하지만
벼합은 모든 속성이 변경됨 -> 병합시 값이 없으면 Null로 ..교체..
실무에서 는 그래서 변경감지 객체 사용 추천
그러나 실무에선 set 보단 변경되는 메소드를 엔티티를
추가해줘야된다
컨트롤러에서 어설픈 엔티티 만들지 않기
상품 주문
컨트롤러에서 객체를 조회해서 넘겨줘도 되지만
영속성 객체가 아니기 되고 애매해짐.
그냥 Id count등 값을 보낸다.
Author And Source
이 문제에 관하여(스프링부트-JPA-활용-4), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@superkkj/스프링부트-JPA-활용-4저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)