.어제 깃허브 고수 팀원분이 알려주신 방법으로 혼자 디벨롭 머지까지 시도했는데 머지는 됬지만 중간에 구조랑 기능을 전반적으로 손봤어서 크게 충돌이 났다. 덕분에 고수 팀원님이 충돌해결까지 해주셔서 ...감삼다!!
JPA 동작 원리
- Java 객체와 관계형 DB 사이를 매핑하는 ORM 기술 표준
- 인터페이스 (=기술 표준) 이다.
save() 메소드
- 객체 지향 설계 중심에서의 Entity 객체를 ORM 을 이용하여 DB에 저장하는 기능
- save() 메소드는 바로 DB 에 저장되지 않고 영속성 컨텍스트에 저장되었다가 flush() 또는 commit() 수행 시 DB에 저장됨
save() 메소드는 엔티티를 DB에 저장하는 기능을 수행 save() 메소드는 Spring Data 에서의 정의한 CrudRepository 인테페이스의 메소드. |
- postReository.save(new Post(requestDto, user.getId))
saveAndFlush() 메소드
- 즉시 DB에 변경사항을 적용하는 방식
save() 메소드와는 다르게 saveAndFlush() 메소드는 실행중에 즉시 data를 flush한다. saveAndFlush() 메소드는 Spring Data JPA에서의 정의한 JpaRepository 인테페이스의 메소드. |
saveAndFlush() 메소드는 아직 commit되지 않은 같은 트랙잭션 내에서 먼저 처리된 결과를 후에 사용할 때 사용된다. ex.) save() 메소드는 DB에 동기화 시키지 않았기 때문에 스토어드 프로시저는 변경사항을 알 수 없고 이로 인해 제대로 동작X. |
- save() 메소드는 영속성 컨텍스트에 저장하는 것이고 실제로 DB 에 저장은 추후 flush 또는 commit 메소드가 실행될 때 이루어짐
- saveAndFlush() 메소드는 즉시 DB 에 데이터를 반영함
'스파르타 부트캠프(spring)' 카테고리의 다른 글
[내일배움캠프_Spring] 자바 Spring 입문_AOP_230125 (0) | 2023.01.26 |
---|---|
[내일배움캠프_Spring] 자바 Spring 입문_연관 관계_230120 (0) | 2023.01.23 |
[내일배움캠프_Spring] 자바 Spring 입문_Git 브랜치 활용_230118 (0) | 2023.01.18 |
[내일배움캠프_Spring] 자바 Spring 입문_예약어_230116 (0) | 2023.01.16 |
[내일배움캠프] 자바 Spring_SQL(5)제약조건_230113 (0) | 2023.01.16 |