# spring-data-jpa

37개의 포스트

[Spring Security] 비대면 시험 시스템 개발

요즘 covid19로 인한 감염성 질병으로 모든 학생들이 비대면 수업을 진행하고 있다. 대부분의 초중고 학생들은 비대면 시스템이 잘 지켜지는듯 보인다. 또한 잘은 모르지만 전국적으로 같은 시스템을 쓴다고 들었다. 또한 시험도 그 시스템에서 해결이 가능하다고 하였다.하지

2021년 9월 4일
·
0개의 댓글

Spring Data JPA, Web 확장 - 페이징과 정렬

Spring Data JPA가 제공하는 페이징과 정렬 기능을 스프링 MVC에서 편리하게 사용 할 수 있다.Spring Data JPA가 제공하는 페이징과 정렬 기능은 아래처럼 사용 할 수 있다.파라미터로 "Pageable"을 받을 수 있다.여기서 Pageable은 인터

2021년 8월 4일
·
1개의 댓글

Spring Data JPA, Web 확장 - 도메인 클래스 컨버터

HTTP 파라미터로 넘어온 Entity의 ID(PK)로 Entity객체를 찾아서 바인딩하는 기능이다.PathVariable로 받은 'id'를 이용해 직접 값을 조회하고 username을 반환한다.HTTP요청은 회원 'id'를 받지만 중간에 도메인 클래스 컨버터가 동작하

2021년 8월 3일
·
1개의 댓글

Spring Data JPA, Auditing

개발을 하다보면 DB테이블 마다 꼭 들어가는 4가지 값이 있다.바로 등록일, 수정일, 등록자, 수정자 이다.Spring Data JPA에는 이 4가지를 자동으로 관리해주는 기능이 있다.알아보자!먼저 순수한 JPA를 사용해서 등록일과 수정일을 관리해보자@PrePersis

2021년 8월 3일
·
0개의 댓글

Spring Data JPA, 사용자 정의 리포지토리

Spring Data JPA에서 Repository는 인터페이스만 정의하고 구현체는 스프링이 자동으로 생성한다.만약 Spring Data JPA가 제공하는 인터페이스를 직접 구현하려고 한다면 구현해야 하는 기능들이 너무 많아 오히려 비효율적이다.그렇다면 다양한 이유로

2021년 8월 3일
·
0개의 댓글

Spring Data JPA, @EntityGraph

연관된 엔티티들을 SQL 한번으로 조회하는 방법이다.fetch join도 있지만 조금 더 간단한 방법이다.member -> team이 지연로딩 관계로 엮여있다면, 아래 코드에서는 team 데이터를 조회 할 때 마다 쿼리가 실행된다.(N+1 문제 발생...)그렇다면 N+

2021년 8월 2일
·
0개의 댓글

Spring Data JPA, 벌크성 수정 쿼리

벌크성 쿼리란 DB에서 여러개의 레코드를 한번에 추가/수정/삭제하는 쿼리를 말한다.예를 들어 나이가 10인 레코드들의 나이를 1살씩 추가하는 벌크성 쿼리는 다음과 같다.JPA에서도 이런 벌크성 쿼리를 지원한다. 오늘은 그 중에서 벌크성 수정 쿼리를 볼 것이다.먼저 순수

2021년 8월 2일
·
0개의 댓글

Spring Data JPA, 페이징과 정렬

Spring Data JPA는 페이징과 정렬을 공통화 해놨다.org.springframework.data.domain.Sort : 정렬기능org.springframework.data.domain.Pageable : 페이징 기능(내부에 Sort 포함)org.springf

2021년 7월 28일
·
0개의 댓글

Spring Data JPA의 반환 타입

Spring Data JPA는 다양한 반환 타입을 지원한다.컬렉션단건단건 Optional컬렉션으로 조회시 결과가 없다면 빈 컬렉션을 반환한다단건 조회 시 결과가 없다면 null을 반환하고만약 2건 이상의 결과가 있다면 javax.persistence.NonUniqueR

2021년 7월 28일
·
0개의 댓글

Spring Data JPA, @Query 애너에티션

@Query란?

2021년 7월 26일
·
0개의 댓글

Spring Data JPA, Named Query

네임드 쿼리란 말 그대로 이름을 붙여놓은 쿼리를 말한다.사전에 쿼리에 이름을 붙여놓고 사용 할 때, 쿼리의 이름을 사용하여 메서드를 구현하는 기능이다.예를 들어 아래와 같은 'Member' 엔티티가 있을 때 'username'으로 Member를 찾는 쿼리를 만든다고 해

2021년 7월 26일
·
0개의 댓글

Spring Data JPA, Query Creation

Spring Data JPA의 쿼리 매소드 기능 중 하나로 인터페이스를 정의하면 자동으로 쿼리를 생성해주는 기능이다.예를 들어 아래와 같은 'Member' 엔티티가 있을 때 'username'으로 Member를 찾는 쿼리를 만든다고 해보자.직접 JPQL로 쿼리를 작성해

2021년 7월 26일
·
0개의 댓글

Spring Data JPA 페이징 처리하기

Spring Data JPA를 사용하여 페이징 처리, 정렬을 해보자PagingAndSortingRepository를 상속한 BoardRepository를 만든다. PagingAndSortingRepository를 상속한 JPARepository를 상속해도 된다.Pagi

2021년 7월 25일
·
0개의 댓글

@Transactional 과 JPA 사용 시 주의점

@Transactional 과 영속성 컨텍스트의 쿼리 실행 시점에 대해서 알아봅니다 :)

2021년 7월 17일
·
0개의 댓글
post-thumbnail

[JPA] Spring Data JPA

Spring Data JPA는 JPA의 상속 인터페이스로 Spring Framework에서 JPA의 사용을 용이하게 하도록 하는 모듈입니다. JPA의 스펙을 사용하면서 그 내부적인 동작을 단순화합니다.imageJPA에서는 엔티티와 엔티티 매니저를 통해서 트랜잭션을 관

2021년 7월 15일
·
0개의 댓글
post-thumbnail

Spring Data JPA란?

Spring Data JPA를 알기전 우선 JPA에 대해 알아야 합니다.JPA란 Java Persistentce API의 약자로 JAVA에서 관계형 DB를 사용하는 방식을 정의한 인터페이스입니다.말 그대로 인터페이스이기 때문에 구현체가 없습니다.Java로 서버를 조금이

2021년 7월 8일
·
0개의 댓글

spring data jpa ID 생성전략에 따른 동작 방식 정리

source 는 Github 에 있습니다.Entity ID 생성전략에 따른 동작 방식을 정리했습니다.아래 테스트를 수행할 경우 애플리케이션에서 ID 를 생성해줬기에 DB 에 값이 있나 확인하기 위해 select 를 날려본 후에, INSERT 가 이루어집니다.즉, mer

2021년 6월 22일
·
0개의 댓글

spring data jpa batch insert 정리

source 는 Github 에 있습니다.batch insert 라는 것은 여러 개의 SQL Statement 를 하나의 구문으로 처리할 수 있습니다. 정확히는 위 기능은 jdbc batch 기능이며, hibernate 에서 위 기능을 이용해서 처리하는 것입니다.여러

2021년 5월 20일
·
0개의 댓글

spring data jpa save, saveAll 비교

source 는 Github 에 있습니다.save 동작 원리는 이전 글 참고하시면 됩니다.간략히 설명하면 save(xxx) 는 1건을 저장하는 메소드이며, saveAll 은 다건이상의 데이터를 저장하는 메소드입니다.아래 로직만 보면 saveAll 은 save() 를 호

2021년 5월 15일
·
0개의 댓글
post-thumbnail

[Spring Boot] 게시판 구현 1 - Entity 및 Repository 만들기

🔧 환경 설정 Spring Boot 2.4.3 OpenJDK 15 Gradle ※ 이 글에서는 Spring Boot 초기 설정 및 FrontEnd 관련 내용은 다루지 않습니다. 📝 Setting 여러가지 이유로 이 프로젝트에서는 Spring Data Jpa를 적

2021년 4월 29일
·
0개의 댓글