본문 바로가기 메뉴 바로가기

블로그으으

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

블로그으으

검색하기 폼
  • 분류 전체보기 (38)
    • Kafka (2)
    • 웹개발 (10)
    • ㄴspring boot (4)
    • DB (3)
    • JAVA (3)
    • AWS (3)
    • 도커 (2)
    • Jenkins (2)
    • 알고리즘 (1)
    • 네트워크 (2)
    • elk (2)
    • 리눅스 (0)
    • 제우스 (1)
  • 방명록

spring boot (2)
JPA @Transactional 과 1차 캐시

문제JPA에서는 1차 캐시를 사용하기 때문에 같은 엔티티에 대해서는 동일성(주소값이 같음)을 만족한다고 알고 사용해왔다. 그래서 나는 객체를 비교할 때 id가 아닌 객체 그 자체로 비교해 왔다. 그런데 어느 날 id로 가지고 온 객체를 이용해 fetch join을 통해 가지고 온 객체 중 하나를 찾는 로직을 작성했는데, 하나도 못 찾는 문제가 발생했다. 확인해보니 id를 통해 가지고 온 객체와 fetch join을 통해 가지고 온 객체의 주소값이 달랐다. 결론부터 말하자면 원인은 @Transactional을 붙이지 않아 발생했다. 테스트1. @Transactional 없이 조회아래 코드는 테스트를 위해 작성한 코드로, findByIdPerson은 personRepository에서 id를 이용해 perso..

웹개발 2025. 2. 2. 20:26
[Spring Boot] Multiple Datasource with Clickhouse

최근에 DL(Data Lake) 데이터 저장소를 Logpresso에서 ClickHouse(+Nifi)로 전환하는 작업을 진행했다. 이에 따라 API 서버(Spring Boot)에서도 Logpresso에서 가지고 오던 데이터를 ClickHouse에서 가져오도록 전환을 진행했다. 이를 위해 하나의 프로젝트에 다중 데이터소스(pg, ClickHouse)를 연결해야 했다. 이 글은 그 내용을 다룬다. 1. build.gradle 에 clickhouse jdbc 추가ClickHouse JDBC를 사용하기 위해 build.gradle에 의존성을 추가해준다. 2. yml 에 clickhouse 접속 정보 추가application.yml 파일에 ClickHouse 접속 정보를 추가해준다.datasource 위의 pos..

ㄴspring boot 2024. 6. 17. 00:03
이전 1 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
  • lnk
  • lbr
TAG
  • multiple datasource
  • docker
  • 도커
  • php
  • 제우스8
  • myabatis
  • cleanup policy
  • jpa 1차 캐시
  • 1차캐시
  • 네트워크
  • 주키퍼 없는 카프카
  • SynchronousQueue
  • s3
  • spring boot
  • 제우스 로그
  • 쓰레드 변수
  • volatile
  • 제우스8.5
  • 다중 데이터소스
  • AWS
  • 카프카
  • 오블완
  • 넥서스 보관주기
  • 캐시
  • cleanup policies
  • API Gateway
  • db 두개
  • 스레드 동기화
  • 보관주기
  • 넥서스 파일 보관주기
more
«   2025/05   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바