- 1️⃣ build.gradle에 Spring Data JPA 의존성 라이브러리 추가
- 2️⃣ application.properties 설정 추가
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
spring.jpa.show-sql=true # 실행하는 SQL 쿼리를 콘솔에 출력
spring.jpa.hibernate.ddl-auto=none # DDL 자동 생성을 사용하지 않음
spring.jpa.properties.hibernate.format_sql=true # 출력되는 SQL 쿼리를 보기 쉽게 포맷팅
🚩 엔티티의 필드명과 데이터베이스 테이블 컬럼명이 카멜 케이스인 경우
- JPA의 기본 네이밍 규칙은 스네이크 케이스이다.
- 따라서 엔티티의 필드명과 데이터베이스 테이블 컬럼명이 카멜 케이스라면 설정을 추가해야 한다.
👉 방법
- application.properties 파일에 아래 코드를 추가
spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
- 엔티티의 필드명 중 카멜 케이스로 작성된 필드에
@Column(name="매핑할 데이터페이스 테이블 컬럼명")
어노테이션 작성
🚩 쿼리 실행을 모니터링하고 싶다면
- p6spy 라이브러리를 설치한다.
- p6spy 라이브러리는 데이터베이스 쿼리의 실행을 모니터링하고 로깅하는 라이브러리이다.
- 기존 Logback 프레임워크는 MyBatis로 요청한 데이터만 보여지기 때문에 MyBatis와 JPA로 요청한 데이터 모두 볼 수 있는 p6spy 라이브러리를 사용한다.
- 회사에서 쓰기에는 무거울 수 있으므로 성능을 고려해서 사용한다.
👉 방법
- build.gradle 파일에 p6spy 의존성 라이브러리 추가
- build.gradle 파일의 dependencies에 아래 코드를 추가implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0'
- build.gradle 파일 저장
- Package Explorer의 build.gradle 파일에서 우측 마우스 클릭
- Gradle > Gradle Refresh Project 클릭