기회는 찬스
close
프로필 배경
프로필 로고

기회는 찬스

  • 분류 전체보기 (109)
    • Language (20)
      • Java (19)
      • Design Pattern (1)
    • Tech (24)
      • Spring (18)
      • JPA (3)
      • QueryDSL (1)
      • Gradle (2)
    • 개발 생각 (1)
    • Database (4)
      • Mysql (4)
      • Redis (0)
    • 네트워크 (1)
    • 운영체제 (2)
    • IDE (9)
      • Intellij (6)
      • vscode (2)
      • datagrip (1)
    • 인프라 (11)
      • Docker (2)
      • Jenkins (7)
      • Github Actions (1)
      • GCP (1)
    • 형상관리 (2)
      • gitlab (2)
      • git (0)
    • 외부활동 (28)
      • CS 면접 끝장내기 - 데이터베이스 1기 (5)
      • CS 면접 끝장내기 - 컴퓨터 네트워크 2기 (5)
      • CS 면접 끝장내기 - 자바 2기 (0)
      • TDD, 클린 코드 with Java 17기 (7)
      • ATDD, 클린 코드 with Spring 8기 (6)
      • 항해플러스 5기 (5)
    • 프로젝트 (0)
    • 회고 (6)
    • 기타 (0)
  • 홈
  • Github
  • LinkedIn
  • 방명록
Jpa save vs saveAndFlush vs saveAll

Jpa save vs saveAndFlush vs saveAll

안녕하세요. 회사에서 배치를 돌려 약 10만건 정도의 데이터를 삽입해야 했습니다. 1번과 2번에서 데이터를 조회 하여 데이터를 합친 후 DB에 저장하는 단순한 프로세스 였습니다. DB에 저장시 save()를 사용했다가 반나절 이상이 걸렸습니다. save()를 사용하지 않고 saveAll()로 처리 하였더니 시간이 삼분의 일로 줄어 들었습니다. 이번 기회에 Jpa에서 데이터를 저장하는 방법인 save() / saveAndFlush() / saveAll()의 차이점 대해 정리하려고 합니다. ※ 사실 벌크 삽입은 Spring JDBC의 JdbcTemplate를 이용하면 훨씬 빠르게 Batch Insert를 수행할 수 있습니다. save @Transactional @Override public S save(S ..

  • format_list_bulleted Tech/JPA
  • · 2024. 1. 25.
  • textsms

Jpa로 데이터 수정 작업 후 수정된 데이터를 카프카에 전송하는 방법

API를 통해 Mysql DB에서 데이터를 등록 및 수정 작업을 마친 후, 카프카를 통해 최신화된 데이터를 다른 서버에 전송하는 로직이 있다. @Service @RequiredArgsConstructor public class Service { private final KafkaService kafkaService; private final Reader reader; private final Writer writer; @Transactional public void add(Request request) { // 데이터 저장 Entity entity = writer.save(request); // 카프카로 데이터 전송 kafkaService.send(savedEntity); } @Transactional ..

  • format_list_bulleted Tech/JPA
  • · 2023. 2. 11.
  • textsms

detached entity passed to persist 에러

public static Apple 잠금해제상태_스케줄_생성() { return Apple.builder() .id(1) .name("사과") .build(); } 테스트코드에서 Fixture로 Apple 엔티티를 생성할려구 했다. @AllArgsConstructor @NoArgsConstructor( access = AccessLevel.PROTECTED ) @Builder @Entity public class Apple { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; //... 엔티티 설정은 다음과 같다. JpaRepository를 상속받아 save()메소드로 생성한 엔티티를 저장할려구 했는데 detached ent..

  • format_list_bulleted Tech/JPA
  • · 2021. 12. 1.
  • textsms
  • navigate_before
  • 1
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (109)
    • Language (20)
      • Java (19)
      • Design Pattern (1)
    • Tech (24)
      • Spring (18)
      • JPA (3)
      • QueryDSL (1)
      • Gradle (2)
    • 개발 생각 (1)
    • Database (4)
      • Mysql (4)
      • Redis (0)
    • 네트워크 (1)
    • 운영체제 (2)
    • IDE (9)
      • Intellij (6)
      • vscode (2)
      • datagrip (1)
    • 인프라 (11)
      • Docker (2)
      • Jenkins (7)
      • Github Actions (1)
      • GCP (1)
    • 형상관리 (2)
      • gitlab (2)
      • git (0)
    • 외부활동 (28)
      • CS 면접 끝장내기 - 데이터베이스 1기 (5)
      • CS 면접 끝장내기 - 컴퓨터 네트워크 2기 (5)
      • CS 면접 끝장내기 - 자바 2기 (0)
      • TDD, 클린 코드 with Java 17기 (7)
      • ATDD, 클린 코드 with Spring 8기 (6)
      • 항해플러스 5기 (5)
    • 프로젝트 (0)
    • 회고 (6)
    • 기타 (0)
최근 글
인기 글
최근 댓글
태그
  • #ㄹㄹ
  • #a
  • #데이
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바