Persistence Framework/ORM -JPA

JPA Insert vs. Update

prden 2023. 1. 20. 20:43

0. interface

public interface UserRepository extends JpaRepository<User, Long> {

    @EntityGraph(attributePaths = "authorities")
    Optional<User> findOneWithAuthoritiesByEmail(String username);

    User findByEmail(String email);
}

Repository의 save(T Object)를 통해 Entity를 저장 or update한다.

 

1. Insert

새로운 인스턴스 생성 후 setter or 생성자를 통해 객체 생성 후 객체 넘길 때

2. update

새로운 인스턴스를 생성하는 게 아닌 select해온 후 결과 객체에 setter 혹은 생성자를 통해 객체를 생성하고 save에 넘길 때

 

https://brunch.co.kr/@anonymdevoo/37

 

Save는 Insert와 Update를 어떻게 구분할까

코드로 보는 spring-data-jpa (1) | Prerequisite: Spring Data JPA 기본 구조와 동작원리 아래 코드는 spring-data-jpa의 2.6.x 버전입니다. spring-data-jpa를 사용할 때 interface type으로 Repository를 정의해서 사용한다. pub

brunch.co.kr

3. save

https://wangtak.tistory.com/2

 

Spring Data JPA - Save Method 동작 방식

Spring Data JPA에서 제공하는 JpaRepository.save(T); [T는 Entity]의 내부 동작 방식에 대해서 정리하려고 합니다. JPA에서의 save 메서드 구현체 코드는 다음과 같습니다. // SimpleJpaRepository.java [JPA 구현체] @Tra

wangtak.tistory.com

 

'Persistence Framework > ORM -JPA' 카테고리의 다른 글

JPA 양방향 순환참조  (0) 2023.02.09
Spring Data JPA Pagination, Querydsl의 pagenation연결  (0) 2022.10.11
QueryDsl, 사용자 정의 Repository  (0) 2022.10.11
QueryDsl 설정  (0) 2022.10.05
N+1문제  (0) 2021.08.30