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 모드를 정의