본문 바로가기
반응형

JPA33

Spring Boot Data Jpa 프로젝트에 Querydsl 적용하기 안녕하세요? 이번 시간에는 Spring Boot Data Jpa 프로젝트에 Querydsl을 적용하는 방법을 소개 드리겠습니다. 모든 코드는 Github에 있습니다. Spring Data Jpa를 써보신 분들은 아시겠지만, 기본으로 제공해주는 @Query로는 다양한 조회 기능을 사용하기에 한계가 있습니다. 그래서 이 문제를 해결하기 위해 정적 타입을 지원하는 조회 프레임워크를 사용하는데요. Querydsl은 Jooq와 함게 가장 유명한 조회 프레임워크입니다. 이번 포스팅에서는 Spring Boot Data Jpa에서 Querydsl을 어떻게 설정하는지를 이야기합니다. Querydsl의 장점 혹은 왜 써야하는지 등의 내용은 담지 않습니다. 이건 나중에 한번 각잡고 작성해서 공유드리겠습니다 :) 개발환경은 .. 2018. 12. 31.
Querydsl 에서 OneToMany 관계에서 Left Outer Join 이 필요할 경우 안녕하세요? 이번 시간에는 JPA와 Querydsl을 사용하실때 OneToMany 관계에서 Left Join (Outer Join) 이 필요할 경우 어떻게 하면 될지에 대해서 소개 드리겠습니다. 모든 코드는 Github에 있으니 필요시 참고하시면 됩니다. Querydsl의 버전은 4.1.4 로 진행합니다. (2018.10.04 기준) 문제 상황 아래 코드와 같이 1:N 관계의 Entity들이 있다고 가정하겠습니다. Parent.java @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) @Entity public class Parent { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private.. 2018. 10. 5.
Spring Batch Paging Reader 사용시 같은 조건의 데이터를 읽고 수정할때 문제 안녕하세요. 이번 시간에는 Spring Batch를 사용하시는 분들이 자주 묻는 질문 중 하나인 같은 조건의 데이터를 읽고 수정할때 어떻게 해야하는지 에 대해서 소개드리려고 합니다. 모든 코드는 Github에 있으니 참고하시면 됩니다. 문제 상황 예를 들어 아래와 같은 문제가 있다고 가정하겠습니다. pay라는 테이블에 successStatus가 false인 데이터를 모두 가져와 true로 변환해야 한다고 보겠습니다. 샘플로 사용할 Pay Entity는 다음과 같습니다. import lombok.AccessLevel; import lombok.Getter; import lombok.NoArgsConstructor; import javax.persistence.Entity; import javax.persi.. 2018. 9. 15.
7. Spring Batch 가이드 - ItemReader 앞의 과정들을 통해 Spring Batch가 Chunk 지향 처리를 하고 있으며 이를 Job과 Step으로 구성되어 있음을 배웠습니다. Step은 Tasklet 단위로 처리되고, Tasklet 중에서 ChunkOrientedTasklet을 통해 Chunk를 처리하며 이를 구성하는 3 요소로 ItemReader, ItemWriter, ItemProcessor가 있음을 배웠습니다. 즉, ItemReader & ItemWriter & ItemProcessor의 묶음 역시 Tasklet이란 이야기입니다. 이들의 묶음을 ChunkOrientedTasklet에서 관리하기 때문이죠. 이번 시간부터 이 3 요소를 차근차근 배워보겠습니다. 7-1. ItemReader 소개 Spring Batch의 Chunk Taskle.. 2018. 9. 14.
Spring Boot Data JPA 2.0 에서 id Auto_increment 문제 해결 안녕하세요? 이번 시간엔 Spring Boot JPA 2.0 에서 PK의 Auto_increment 문제를 알아보려고 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용을 정리하는 Github와 세미나+책 후기를 정리하는 Github, 이 모든 내용을 담고 있는 블로그가 있습니다. ) 문제 회사의 신규 시스템 구축을 Spring Boot 2.0으로 진행하게 되었습니다. 진행 도중 Spring Data Jpa의 @GeneratedValue가 기존과 다르게 작동하는걸 발견하게 되었습니다. 예를 들어 아래와 같이 1.5.x 에서 사용하던대로 엔티티 클래스를 생성했습니다.2.0에서도 기본 전략이 AUTO임을 확인하고 테스트 코드를 작성했는데요. 이렇게 M.. 2018. 5. 12.
2) 스프링부트로 웹 서비스 출시하기 - 2. SpringBoot & JPA로 간단 API 만들기 이번 시간엔 SpringBoot & JPA로 간단한 API를 만들 예정입니다. Tip) 아직 SI 환경에선 Spring & MyBatis 를 많이 사용하지만, 쿠팡/우아한형제들/NHN Entertainment 등 자사 서비스를 개발하는 곳에선 SpringBoot & JPA를 많이 사용하고 있습니다. 특히 기존 프로젝트 환경을 개편하시는 분들은 거의 위 스택으로 전환하려고 합니다. SpringBoot & JPA로 진행하시면 진짜 집중해야할 비지니스 로직에만 집중할수 있습니다. (Express, Django, Rails 못지않게 생산성이 좋습니다.) 자사 서비스를 운영하는 회사에선 점점 더 많이 사용되고 있기 때문에 이런 회사로 가고자 하시는 분들은 이번 기회에 꼭! 시작해보셨으면 합니다. 첫번째 기능으로 .. 2017. 12. 28.

728x90
반응형