JPA 관련 application.properties


application.properties

H2(인 메모리 SQL 데이터 베이스 )  관련 세팅  

#H2
spring.h2.console.enabled=true
spring.h2.console.path=/h2
spring.datasource.hikari.jdbc-url=jdbc:h2:~/test
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.initialization-mode=always

JPA 관련 세팅 

#JPA
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
# WebApplication 실행시(hibernate의 SessionFactory) DB 스키마에 어떤 행위를 할 것인가에 대한 옵션 
# create - 존재하는 테이블 모두 지우고 다시 생성 
# create-drop - create와 동일 하지만 SessionFactory 내려가면 테이블 Drop
# update - 변경이 필요한 경우 alter로 변경, 없는 경우 create
# validate - update와 비슷 하지만 Object 와 스키마 정보가 다르면 에러 Return 
spring.jpa.hibernate.ddl-auto=validate
# Hibernate 가 DB에 날리는 모든 쿼리를 보여줌 
spring.jpa.show-sql=true
# 주석도 같이 보여줌 
spring.jpa.properties.hibernate.use_sql_comments=true
# 보여지는 쿼리를 포맷팅 
spring.jpa.properties.hibernate.format_sql=true
# 쿼리파라미터의 값을 표시 해줌 
logging.level.org.hibernate.type.descriptor.sql=trace

# 정적 리소스 변경사항 자동 반영 spring-boot-devtools 필요 
# 다른 소스파일 변경시 자동 재시작 
spring.devtools.livereload.enabled=true
# JAVA Templete Engine Cache Disable (안하면 변경사항 로드 안됨)
spring.thymeleaf.cache=false

 

아래 URL 에서 application.properties에 들어갈 h2, datasource설정을 찾을수 있다. 

https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#common-application-properties-data

hikari 는 DB 와의 Connection pool을 관리해주는 역할을 한다. 서버 실행시 H2는 schema.sql 의 쿼리를 한번 실행한다. 이를 이용해 테이블을 만들수 있다. 

DDL (Data Definition Language)

컴퓨터 데이터를 정의하는 컴퓨터 언어 또는 컴퓨터 언어 요소이다. (SQL 언어) 즉 데이터베이스를 조작하는 언어

spring boot는 ddl-auto 라는 이름으로 DDL 모드를 정의 

 

 

You may also like...