본문 바로가기
반응형

분류 전체보기280

[JPA] @BatchSize와 쿼리 캐시에 관해서 알아보기 Spring Boot 1.4.6.RELEASE 버전에서 개발을 진행하고 있었습니다.album과 song이라는 테이블이 있고 song은 외래키를 가지고 있는 주 테이블이며 album은 대상 테이블입니다. 아래는 클래스 코드입니다.@Data@Entitypublic class Album { ... @OneToMany(mappedBy = "album") private List songList = new ArrayList(); ... }@Data@Entitypublic class Song { ... @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "album_id", referencedColumnName = "id") .. 2024. 11. 28.
JPA 2차 캐시와 레디스 캐시에 대하여 생각해보기 JPA 1차 캐시와 2차 캐시에 관해서는 이 글을 읽기 전에 한 번 읽어보시길 추천드립니다. 클라이언트의 요청에 의해 영속성 컨텍스트의 스냅샷을 통한 1차 캐시는 그 생명주기가 OSIV인 경우 요청이 끝날 경우에 사라집니다.(OSIV가 아닌 경우 트랜잭션이 종료되면 영속성 컨텍스트가 종료될 때 같이 사라집니다.)그렇다면 매번 반복된 요청이 들어올 때 불필요한 디비 컨넥션 처리가 이루어지지 않도록 2차 캐시를 이용하여 효율성을 높이는 것이 좋다고 생각이 됩니다. 2차 캐시를 적용해서 한번 로직을 구성해 보겠습니다.@Overridepublic List findByTop100Song() { return jpaQueryFactory.selectFrom(song) .where(song.i.. 2024. 11. 21.
Mockaroo: 테스트 데이터를 생성해주는 사이트 애플리케이션 개발을 하다보면 엔티티를 생성하고 데이터를 인서트한 후 테스트를 수행하는 경우가 비일비재합니다.하지만 대량의 데이터가 필요한 경우에 수동으로 데이터를 생성하기란 쉽지 않죠. 테스트 데이터를 자동으로 생성해주는 사이트인 Mockaroo가 있어서 소개해 보려고 합니다.     Mockaroo개발 및 테스트 목적으로 사용할 수 있는 샘플 데이터(더미 데이터)를 손쉽게 생성할 수 있는 웹 기반 도구입니다.이 도구는 다양한 데이터 형식을 지원하며, 사용자 정의 옵션을 통해 필요에 맞는 데이터를 생성할 수 있습니다.  주요 특징사용자 정의 필드데이터를 구성하는 각 필드를 사용자 정의할 수 있습니다.다양한 데이터 유형(이름, 주소, 이메일, 날짜 숫자 등)을 선택할 수 있으며, 고유한 필드 이름과 값 범.. 2024. 11. 16.
Java Stream API의 patitioningBy에 대해서 알아보자. 'Stream  연산을 처리하는 중에 하나의 결과를 통해 서로 다른 컬렉션 객체를 반환받을 수 있을까?' 라는 의문이 생겼습니다.예시로 숫자 스트림 객체가 주어졌을 때, 짝수와 홀수 컬렉션을 한 번의 스트림 연산으로 가져오고 싶었던 것 입니다. Stream patitioningBy 연산을 통해 가능하다고 하여 자세히 알아보게 되었습니다.     Stream partitioningBy partitioningBy란?Collectors.partitioningBy는 Java Stream API에서 주어진 조건(Predicate)에 따라 스트림 요소를 두 개의 그룹으로 나누기 위해 사용되는 메서드입니다. 이 메서드는 Collectors 클래스에서 제공되며, 각 요소가 조건을 만족하는지 여부에 따라 true 또는 .. 2024. 11. 14.
반응형