현재 국비 지원, 부트 캠프에서 JPA는 거의 필수적으로 교육 과정에 포함되어 있다.신입 개발자 면접에도, JPA 사용 경험과 n+1 문제 해결 방법을 묻는 것도 흔하다.Java 공화국 한국에서 왜 여기저기서 JPA,, JPA,, 를 외치는걸까?JPA 등장 배경, JP
** 이 포스팅은 MySQL, SQL 문, JAVA에 대한 기본적인 지식을 가지고 있다고 전제합니다. 이번에는, 앞선 글에서 살펴보았던 JPA를 간단히 사용해 볼 것이다. Chapter JPA 기본 설정 JPA 간단하게 사용하기 1. JPA 기본 설
이번 시간에는 JPA의 핵심 개념 중 하나라고 할 수 있는 영속성에 대해 알아보도록 하겠다. Chapter 영속성 컨텍스트란? 엔티티의 생명 주기 영속성 컨텍스트의 장점 영속성 컨텍스트란? 영속성 컨텍스트 (persistence context)는 엔티티를
JPA를 사용할 때 가장 기본이 되는 것이자, 중요한 엔티티와 테이블을 매핑하는 것을 자세히 살펴 보겠다.
이번에는 JPA 연관 관계 기초에 대해 알아 볼 것이다.
여태까지 다대일 (다쪽이 연관관계 주인인) 단방향, 양방향 매핑에 대해 알아보았다. 이번에는 다양한 (일대다, 일대일, 다대다) 연관관계 매핑을 알아 볼 것이다.여기서 왼쪽을 (일대다의 경우 일이 연관관계 주인) 연관관계 주인으로 가정하고 하나씩 살펴보겠다.일대다 연관
이번시간에는 JPA 고급 매핑을 알아보겠다.실무에서 잘 쓰이지 않는 개념도 있으니, 필요한 것만 알아가도 좋을 것 같다.
이번에는 JPA를 통해 객체 그래프 탐색을 할 때 (ex member.getTeam().getName()) 사용되는 즉시로딩과 지연로딩에 대해 알아보고,연관된 객체를 함께 저장하거나 함께 삭제할 수 있는 영속성 전이와 고아 객체에 대해 알아보려 한다.
이번에는 JPA에서의 값 타입에 대해 알아보겠다.
이번에는 객체 지향 쿼리 언어에 대해 알아 볼 것이다. 양이 정말 많으니, 필요한 부분만 골라서 보는 것을 추천한다. 객제지향쿼리는 * 테이블이 아닌 객체를 대상으로 검색하는 * 쿼리이고, SQL을 추상화 했기 때문에 * 특정 데이이터베이스 SQL에 의존하지 않는다*
이번에는 QueryDSL부터 살펴보겠다.QueryDSL은 데이터를 조회하는데 특화된 오픈소스 프로젝트이다.여기로\[클릭] 가서querydsl-jpa (QueryDSL JPA 라이브러리) 와 querydsl-apt (쿼리 타입 (Q)를 생성할 때 필요한 라이브러리)의존성
자바를 하려면 스프링은 자연스럽게 따라오고,마찬가지로 스프링에서 JPA를 하려면 스프링 데이터 JPA는 그냥 따라온다.보통 국비 과정에서 배우는 JPA가 이 스프링 데이터 JPA를 말하는 것 같던데,그 만큼 많이 쓰이는 스프링 데이터 JPA에 대해 오늘 알아보겠다.스프
스프링이나 J2EE 컨테이너 환경에서 JPA를 사용하면 컨테이너가 트랜잭션과 영속성 컨텍스트를 관리해주어서 편리하다. 하지만 어떻게 동작하는지 알고는 있어야, 문제가 발생했을 때 해결도 할 수 있지 않겠는가. 이번 시간에는 스프링 환경에서 영속성 컨텍스트가 어떻게
이번 시간에는 JPA에서 지원하는 컬렉션과 부가 기능에 대해 알아 볼 것이다.컬렉션, 컨버터, 리스너, 엔티티 그래프에 대해 알아볼 것인데 컬렉션부터 차근 차근 살펴보도록 하겠다.JPA에서 @OneToManu, @ManyToMany 를 사용해서 일대다나 다대다 관계를
이번 시간에는 고급 주제들에 대해 살펴 볼 것이다.다룰려는 주제들은 아래와 같다.예외 처리엔티티 비교프록시 심화 주제성능 최적화4.1 N+1 문제4.2 읽기 전용 쿼리 성능 최적화4.3 배치 처리4.4 SQL 쿼리 힌트 사용4.5 트랜잭션을 지원하는 쓰지 지연을 통한
이번 시간에는 JPA가 제공하는 트랜잭션과 락 기능,JPA가 제공하는 애플리케이션 범위의 캐시 (특히 2차 캐시를 중점으로)에 대해 다뤄보겠다.JPA의 트랜잭션과 락 기능에 대해 알아보기 이전에 트랜잭션에 대해 가볍게 살펴보고 가겠다.우선 기본적으로 트랜잭션은 ACID