Home Spring JPA 설정
Post
Cancel

Spring JPA 설정


의존성 추가

  • Gradle

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    //Spring Security
    implementation 'org.springframework.boot:spring-boot-starter-security'				
    //thymeleaf
    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'	
    implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect'				
    //mysql	
    implementation group: 'mysql', name: 'mysql-connector-java', version: '8.0.32'		
    //jpa
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    
    testImplementation 'org.springframework.boot:spring-boot-starter-test'			
    //lombok	
    compileOnly group: 'org.projectlombok', name: 'lombok', version: '1.18.26'			
} 
  • Maven

1
2
3
4
5
6
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-jpa -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
    <version>2.7.5</version>
</dependency>

appication.properties, yml 설정

  • appication.properties

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# true 설정시 JPA 쿼리문 확인 가능
spring.jpa.show-sql=true
# DDL(create, alter, drop) 정의시 DB의 고유 기능을 사용할 수 있다.
# create : 기존 테이블을 삭제하고 새로 생성 [DROP + CREATE]
# create-drop : CREATE 속성에 추가로 어플리케이션을 종료할 때 생성한 DDL을 제거
# update : DB테이블과 엔티티 매핑 정보를 비교해서 변경 사항만 수정 [테이블이 없을 경우 CREATE]
# validate : DB테이블과 엔티티 매핑정보를 비교해서 차이가 있으면 경고를 남기고 어플리케이션을 실행하지 않음
# none : 자동 생성 기능을 사용하지않음
spring.jpa.hibernate.ddl-auto=update
# JPA의 구현체인 Hibernate가 동작하면서 발생한 SQL의 가독성을 높여준다.
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.jdbc.exception-handling=ignore

logging.level.org.hibernate.SQL= debug
  • appication.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
spring:
jpa:
    properties:
    hibernate:
        jdbc:
        exception-handling: ignore
        # JPA의 구현체인 Hibernate가 동작하면서 발생한 SQL의 가독성을 높여준다.
        format_sql: 'true'
    # true 설정시 JPA 쿼리문 확인 가능
    show-sql: 'true'
    hibernate:
    # DDL(create, alter, drop) 정의시 DB의 고유 기능을 사용할 수 있다.
    # create : 기존 테이블을 삭제하고 새로 생성 [DROP + CREATE]
    # create-drop : CREATE 속성에 추가로 어플리케이션을 종료할 때 생성한 DDL을 제거
    # update : DB테이블과 엔티티 매핑 정보를 비교해서 변경 사항만 수정 [테이블이 없을 경우 CREATE]
    # validate : DB테이블과 엔티티 매핑정보를 비교해서 차이가 있으면 경고를 남기고 어플리케이션을 실행하지 않음
    # none : 자동 생성 기능을 사용하지않음
    ddl-auto: update
logging:
level:
    org:
    hibernate:
        SQL: debug
This post is licensed under CC BY 4.0 by the author.
Contents