Frank's blog

[JPA-4] JPA 일대일(1:1) @One-To-One 연관관계

2019/12/27

1. 들어가며 이번 포스팅에서는 일대일 (1:1) 매핑에 대해서 알아보겠습니다. 2. 개발 환경 포스팅에서 작성한 코드는 깃허브에 올라가 있어요. OS : Mac OS IDE: Intellij Java : JDK 1.8 Source code : 주 테이블에 외래 키 단방향 양반향 대상 테이블에 외래 키 양반향 Software management to…

[JPA-3] JPA N+1 문제 및 해결방법

2019/12/10

1. 들어가며 JPA로 작업하다 보면 N+1 문제에 맞닥뜨리게 되는데요. N+1은 언제 발생할 수 있는 이슈이고 이를 해결하기 위해서 어떤 방법들이 있는지 알아보겠습니다. 2. 개발 환경 포스팅에서 언급한 코드는 github에 올라가 있습니다. OS : Mac OS IDE: Intellij Java : JDK 1.8 Source code : githu…

[Docker-1] Docker 도커 명령어 모음

2019/12/08

1. 들어가며 도커를 다루는 데 있어서 크게 2가지 종류로 나뉠 수 있습니다. 도커 이미지 다루기 도커 컨테이너 다루기 도커 관련된 여러 명령어들이 많아서 자주 사용되는 명령어 위주로 정리를 해봤습니다. 전체 도커 명령어에 대한 내용은 도커 문서 사이트를 참고해주세요. 2. 도커 명령어 2.1 도커 도움말 도커 도움말은 명령어 창에서 help로 확인할…

[JPA-2] JPA 다대일(N:1)+일대다(1:N) @ManyToOne, @OneToMany 연관관계

2019/12/06

1. 들어가며 JPA 연관관계 매핑에 대한 내용은 JPA 연관관계 매핑 정리 포스팅을 참고해주세요. 이번 포스팅에서는 JPA에서 가장 자주 사용하는 다대일(N:1)과 그 반대 방향인 일대다(1:N) 연관관계에 대해서 알아보겠습니다. Post (일) Comment (다) 테이블에서는 다쪽에 외래 키가 존재한다 양방향 관계에서는 다쪽이 연관관계의 주인이 된…

[JPA-1] JPA 연관관계 매핑 정리

2019/12/04

1. 들어가며 엔티티는 다른 엔티티의 참조(변수)를 가지면서 관계를 서로 맺게 됩니다. 블로그에서 해당 포스트에 댓글을 다는 경우를 예를 들면, 댓글(Comment) 엔티티는 포스트 (Post) 엔티티 필드를 가지면서 서로 연관관계를 맺어 해당 댓글을 단 포스트 정보를 조회할 수 있습니다. 테이블에서는 이런 관계를 외래 키를 사용해서 관계를 맺습니다. …

Q&A : Spring Boot 관련 질문 모음

2019/12/04

개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 답변완료 1. application.properties : server.compression.enabled 속성의 의미는? 스프링 부트에서 기본적으로 GZip 압축은 비활성화 되어 있…

H2 데이터베이스 사용법 및 Intellij에서 Database 연동하기

2019/11/20

1. 들어가며 H2는 자바로 구현된 오픈소스 데이터베이스입니다. 인 메모리와 파일 기반의 데이터베이스 설정이 가능합니다. 자바 애플리케이션에 임베디드해서 사용하거나 서버 모드로 구동할 수 있습니다. 별도의 설치과정 없이 임베디드로 바로 사용할 수 있는 장점으로 많이 사용되는 DB입니다. 이 포스팅에서는 H2에서 제공하는 여러 모드 외에도 웹 콘솔과 In…

추가된 LOG를 JUnit에서 확인하는 방법

2019/11/18

1. 들어가며 Unit Test를 작성할 때 메서드의 결과를 기본적으로 확인하여 로직을 검증합니다. void인 메서드인 경우에는 내부 메서드에서 실행하는 메서드의 실행 여부나 메서드로 넘겨진 인자 값을 가지고 확인하기도 합니다. 개발 하다 보면 로직에 변화는 없지만, 단순히 메서드에서 로그를 추가하는 경우가 생깁니다. 개인적으로는 추가한 로그를 Unit…

Q&A : JPA 관련 질문 모음

2019/10/21

개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 답변완료 1. @EntityListeners 이란? 엔티티를 DB에 적용하기 전후로 Custom 콜백을 요청할 수 있는 어노테이션입니다. 참고 http://clearpal7.blog…

[Quartz-3] Multi WAS 환경을 위한 Cluster 환경의 Quartz Job Scheduler 구현

2019/10/13

1. 들어가며 Quartz에서는 메모리 기반의 스케줄러뿐만이 아니라 DB 기반의 스케줄러도 지원합니다. DB 기반의 스케줄러의 경우에는 스케줄러 정보를 메모리가 아닌 DB에 저장하기 때문에 다중 서버 간의 스케줄링이 가능합니다. Quartz는 master-slave 형태로 서로 간의 통신을 하지 않고 단순히 DB 업데이트 정보를 기반으로 각각의 스케줄 인…