201백엔드04. 12.[Spring] SpringApplication를 통한 코딩applicationContext가 등록되기 전에 발생한 이벤트를 Listen하는 리스너를 등록하려면 어떻게 해야할까? SampleListner를 만들고, ApplicationListenr 를 구현한다. Generic으로 발생할 이벤트를 명시해 준다.
202백엔드04. 12.[Spring] Spring Data Common 프로젝트 살펴보기Spring Data Common 프로젝트가 무엇이고, 여러가지 다양한 구현체들에 대해서 알아보자
207백엔드04. 12.[JPA]@Transactional를 통한 OptimizationSpring Data Jpa에서 제공하는 JpaRepository 의 구현체인 SimpleJpaReposity 의 @Transactional 을 어떻게 사용하는지 살펴보고, 실제 우리 서비스에서 어떻게 적용하면 좋을지에 대해서 생각해보자.
208백엔드04. 12.[JPA] QueryDSL 설정방법JPA에서 QueryDsl를 사용하는 방법에 대해서 알아보자. QueryDSL은 쿼리 domain specific language로 도메인에 맞게 쿼리를 프로그링 할 수 있다는 것이다.
209백엔드04. 12.[JPA] 쿼리메서드(Lookup 전략)JPA에서 쿼리 메서드를 정의하는 방법에 대해서 알아보자. CREATE 메서드 이름을 분석해서 만듬 USE DECLARED QUERY 미리 정의해둔 쿼리를 찾아서 사용 CREATE IF NOT FOUND 기본 전략 미리 정의해둔 쿼리 찾아서 없으면 메
210백엔드04. 12.[JPA] proxy, fetch 전략프록시의 기본과, JPA에서 fetch 전략이 어떤 것들이 있는 지 알아보자. PA에서 식별자로 엔티티 하나를 조회할 때 EntityManager.find() 를 사용한다. 이 메서드는 영속성 컨텍스트에 엔티티가 없으면 데이터 베이스를 조회한다.
211백엔드04. 12.[JPA] 엔티티 일부 데이터만 조회하는 ProjectionJPA를 사용해서 엔티티의 일부 데이터만 가져오는 Projection에 대해서 알아보자. 다음과 같은 Comment 엔티티가 존재한다. 필요한 일부 데이터만을 담은 CommentSummary 인터페이스를 만든다.
212백엔드04. 12.[JPA] save메서드로 살펴보는 persist와 merge 개념JpaRepository의 구현체 SimpleJpaRepository에서 save()메서드가 내부적으로 어떻게 동작하는지 알아보자.
213백엔드04. 12.[JPA] null 처리JPA에서 null처리 하는 방법에 대해서 알아 보자. JPA에서 단일 엔티티를 조회할 때, Optional객체를 리턴 받도록 설정되어 있다.
214백엔드04. 12.SpringBoot, JPA, H2를 이용한 간단한API 작성SpringBoot와 JPA, H2를 이용한 간단한 API를 만들어보고, Junit 테스트 검증하는 것을 알아본다.
215백엔드04. 12.[JPA] 도메인 클래스 컨버터란?도메인 클래스 컨버터에 대해서 알아보자. 도메인 클래스 컨버터는 Spring Data Jpa를 사용하게 되면 Common 프로젝트에 있는 클래스 인데, 간단하게, id 엔티티 타입으로 변환 해주거나, 엔티티 id 로 변환해 주는 컨버터를 제공해준다.
216백엔드04. 12.[JPA] Custom Repository 만들기기존의 JpaRepository를 상속받아서 기본적인 CRUD 기능을 사용할 수 있지만, 내가 1)커스텀하게 만들어서 사용하고 싶은 경우와 이미 JpaReposptry에서 제공하는 메서드를 새롭게 2)오버라이딩해서 사용할 수 있는 경우에 대해서 알아보
217백엔드04. 12.[JPA] Casecade 옵션멤버(Member)와 사물함(Locker) 1:1 매핑 상황을 살펴보고, cascade 옵션이 어떤 상황에서 쓰이는지 알아보자. Member Locker 단방향 1:1 매핑에 대해서 살펴보자.
219백엔드04. 12.[JPA] 연관관계 매핑 기초(다대일, 연관관계 주인)JPA 연관관계 매핑중, 실무에서 가장 많이 쓰이는 1:N (일대다) 매핑에 대해서 알아보자. 일대다 매핑을 하기 위해서 하나의 팀에 여러명의 멤버가 속해있는, 1:N 관계를 생각해보자.