250x250
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- jpa
- AJAX
- JavaScript
- 문서
- IntelliJ
- spring
- Thymeleaf
- Core Java
- SpringBoot
- PostgreSQL
- Exception
- Docker
- 오픈소스
- JDBC
- MSSQL
- MySQL
- git
- Source
- myBatis
- Open Source
- Spring Boot
- maven
- Tomcat
- error
- 설정
- oracle
- STS
- Python
- ubuntu
- Eclipse
Archives
- Today
- Total
헤르메스 LIFE
[Spring Boot] Application.yml 설정 - Hibernate – SQL Dialects 본문
Spring Boot Framework
[Spring Boot] Application.yml 설정 - Hibernate – SQL Dialects
헤르메스의날개 2023. 2. 26. 08:50728x90
일반적인 yml 설정
- show-sql: true 는 System.out 으로 출력하기 때문에 효율이 좋지 않습니다.
application.yml
# Server port
server:
port: 9090
servlet:
context-path: /
spring:
datasource:
url: jdbc:h2:tcp://localhost/~/test;DB_CLOSE_ON_EXIT=FALSE
driver-class-name: org.h2.Driver # H2 Database
username: sa
password:
jpa:
show-sql: true # System.out 으로 출력. logging.level.org.hibernate.SQL=debug 로 대체합니다.
hibernate:
# create : entity를 drop cascade 하고 다시 생성
# update : entity가 수정되면 수정된 내용만 반영
# create-drop,validate, none
# 하이버네이트가 자동으로 생성해주는 DDL은 신뢰성이 떨어지기 때문에
# 절대로! 운영DB 환경에서 그대로 사용하면 안되고, 직접 DDL을 작성하는 것을 권장
ddl-auto: create
properties: # Additional native properties to set on the JPA provider.
hibernate:
#show-sql: true # System.out 으로 출력
format_sql: true # 로그, 콘솔의 SQL을 좀 더 이쁘게 출력합니다.
#highlight_sql: true # SQL 출력을 ANSI escape codes를 사용하여 색을 부여합니다.
#use_sql_comments: true # 보다 쉬운 디버깅을 위해 SQL 내부에 /* */의 주석을 추가합니다.
# Logging
logging:
level: # 각 package 별로 로깅 레벨을 지정할 수 있다.
org.hibernate.type: trace # 콘솔차에 조건에 바인딩되는 값 및 조회 결과 출력
약간 계량한 yml 설정
- show-sql: true 는 System.out 으로 출력하기 때문에 효율이 좋지 않기 때문에 logger를 이용해서 SQL을 출력합니다.
application.yml
# Server port
server:
port: 9090
servlet:
context-path: /
spring:
datasource:
url: jdbc:h2:tcp://localhost/~/test;DB_CLOSE_ON_EXIT=FALSE
driver-class-name: org.h2.Driver # H2 Database
username: sa
password:
jpa:
#show-sql: true # System.out 으로 출력. logging.level.org.hibernate.SQL=debug 로 대체합니다.
hibernate:
# create : entity를 drop cascade 하고 다시 생성
# update : entity가 수정되면 수정된 내용만 반영
# create-drop,validate, none
# 하이버네이트가 자동으로 생성해주는 DDL은 신뢰성이 떨어지기 때문에
# 절대로! 운영DB 환경에서 그대로 사용하면 안되고, 직접 DDL을 작성하는 것을 권장
ddl-auto: create
properties: # Additional native properties to set on the JPA provider.
hibernate:
#show-sql: true # System.out 으로 출력
format_sql: true # 로그, 콘솔의 SQL을 좀 더 이쁘게 출력합니다.
#highlight_sql: true # SQL 출력을 ANSI escape codes를 사용하여 색을 부여합니다.
#use_sql_comments: true # 보다 쉬운 디버깅을 위해 SQL 내부에 /* */의 주석을 추가합니다.
# Logging
logging:
level: # 각 package 별로 로깅 레벨을 지정할 수 있다.
org.hibernate.type: trace # 콘솔차에 조건에 바인딩되는 값 및 조회 결과 출력
org.hibernate.SQL: debug # logger를 통해 하이버네이트 실행 SQL
org.hibernate.type.descriptor.sql: trace # sql의 ? 값을 Parameter로 보여줌.
p6spy를 이용한 설정을 추가 했습니다.
application.yml
# Server port
server:
port: 9090
servlet:
context-path: /
encoding:
enabled: true
charset: UTF-8
force: true
session:
timeout: 18000 # 30분, Default 기본단위 : 초
tomcat:
uri-encoding: UTF-8 # Spring Default : UTF-8
##############################################################
# Spring Message 처리
messages:
basename: messages/messages, messages/exception # 각각 ResourceBundle 규칙을 따르는 쉼표로 구분된 기본 이름 목록
always-use-message-format: false # 인수가 없는 메시지도 구문 분석하여 항상 MessageFormat 규칙을 적용할지 여부
encoding: UTF-8
fallback-to-system-locale: true # locale에 해당하는 file이 없을 경우 system locale을 사용 ( default : true )
use-code-as-default-message: true # 해당 코드를 찾을 수 없을 경우 Code 를 출력한다. ( default : false )
cache-duration: 3 # default는 forever
#cache-seconds: -1 # 로드된 자원 번들 파일 캐시 만료(초). -1로 설정하면 번들은 영원히 캐시됩니다.
##############################################################
# Swagger pathmatch
mvc:
pathmatch:
matching-strategy: ant_path_matcher
##############################################################
# Spring Message 처리
spring:
config.activate.on-profile: local
jpa:
open-in-view: false
database-platform: org.hibernate.dialect.H2Dialect
#database-platform: org.hibernate.dialect.PostgreSQLDialect
#show-sql: true # System.out 으로 출력. logging.level.org.hibernate.SQL=debug 로 대체합니다.
hibernate:
# create : entity를 drop cascade 하고 다시 생성
# update : entity가 수정되면 수정된 내용만 반영
# create-drop,validate, none
# 하이버네이트가 자동으로 생성해주는 DDL은 신뢰성이 떨어지기 때문에
# 절대로! 운영DB 환경에서 그대로 사용하면 안되고, 직접 DDL을 작성하는 것을 권장
ddl-auto: none
#generate-ddl: true
properties: # Additional native properties to set on the JPA provider.
hibernate:
#show-sql: true #System.out 으로 출력
format_sql: true # 로그, 콘솔의 SQL을 좀 더 이쁘게 출력합니다.
highlight_sql: true # SQL 출력을 ANSI escape codes를 사용하여 색을 부여합니다.
use_sql_comments: true # 보다 쉬운 디버깅을 위해 SQL 내부에 /* */의 주석을 추가합니다.
h2: # H2-2.1.214
console:
enabled: true
path: /h2-console
##############################################################
# Spring Datasource 처리
spring:
datasource:
#url: jdbc:h2:tcp://localhost/~/test;MVCC=TRUE # H2 1.4.200 버전부터 MVCC 옵션이 제거되었습니다.
url: jdbc:h2:tcp://localhost/~/test;DB_CLOSE_ON_EXIT=FALSE
#url: jdbc:p6spy:h2:tcp://localhost/~/test;DB_CLOSE_ON_EXIT=FALSE # P6Spy
driver-class-name: org.h2.Driver # H2 Database
#driver-class-name: com.p6spy.engine.spy.P6SpyDriver # P6Spy
username: sa
password:
##############################################################
# - 경로 : /src/main/resources 경로 하위
# - schema.sql : 테이블 생성 스크립트
# - data.sql : 데이터 입력 스크립트
# - 파일이름규칙 : schema-${platform}.sql , data-${platform}.sql
# ex. schema-h2.sql , shcema-postgres.sql
#spring.datasource.initialization-mode=always # Spring Boot <v2.5.x
# DB초기화(schema.sql, data.sql) , [always : 기동 시 매번 동작, never : 기동 시 동작하지 않음]
#schema: classpath*:initdata/${platform}/schema.sql
#data: classpath*:initdata/${platform}/data.sql
#schema: classpath*:initdata/h2db/schema.sql
#data: classpath*:initdata/h2db/data.sql
#initialization-mode: always
sql:
init:
schema-locations: classpath*:initdata/${platform}/schema.sql
data: classpath*:initdata/${platform}/data.sql
mode: always # Spring Boot >=v2.5.0
# Logging
logging:
level: # 각 package 별로 로깅 레벨을 지정할 수 있다.
root : info
octopus: debug
org.springframework: WARN
#org.hibernate.SQL: debug # logger를 통해 하이버네이트 실행 SQL
#org.hibernate.type.descriptor.sql: trace # sql의 ? 값을 Parameter로 보여줌.
pattern:
console: "%-5level %d{yy-MM-dd HH:mm:SSS}[%thread] %logger.%method[%line]: - %msg%n"
file: "%-5level %d{yy-MM-dd HH:mm:SSS}[%thread] %logger.%method[%line]: - %msg%n"
file:
name: /Octopus/logs/app_log.log # 로깅 파일 위치이다.
logback:
rollingpolicy:
max-file-size: 10MB #default 10M 로그 파일 하나당 최대 파일 사이즈이다.
max-history: 31 #default 7 로그 파일 삭제 주기이다. 7일 이후 로그는 삭제한다.
file-name-pattern: app_log.%d{yyyy-MM-dd}.%i.gz
decorator.datasource.p6spy.enable-logging: true # false : Disable p6spy
#decorator.datasource.enable: true
RDBMSDialects
DB2 | org.hibernate.dialect.DB2Dialect |
DB2 AS/400 | org.hibernate.dialect.DB2400Dialect |
DB2 OS390 | org.hibernate.dialect.DB2390Dialect |
PostgreSQL | org.hibernate.dialect.PostgreSQLDialect |
MySQL5 | org.hibernate.dialect.MySQL5Dialect |
MySQL5 with InnoDB | org.hibernate.dialect.MySQL5InnoDBDialect |
MySQL with MyISAM | org.hibernate.dialect.MySQLMyISAMDialect |
Oracle (any version) | org.hibernate.dialect.OracleDialect |
Oracle 9i | org.hibernate.dialect.Oracle9iDialect |
Sybase | org.hibernate.dialect.SybaseASE15Dialect |
Microsoft SQL Server 2000 | org.hibernate.dialect.SQLServerDialect |
Microsoft SQL Server 2008 | org.hibernate.dialect.SQLServer2008Dialect |
SAP DB | org.hibernate.dialect.SAPDBDialect |
Informix | org.hibernate.dialect.InformixDialect |
HypersonicSQL | org.hibernate.dialect.HSQLDialect |
H2 Database | org.hibernate.dialect.H2Dialect |
Ingres | org.hibernate.dialect.IngresDialect |
Progress | org.hibernate.dialect.ProgressDialect |
Mckoi SQL | org.hibernate.dialect.MckoiDialect |
Interbase | org.hibernate.dialect.InterbaseDialect |
Pointbase | org.hibernate.dialect.PointbaseDialect |
FrontBase | org.hibernate.dialect.FrontbaseDialect |
Firebird | org.hibernate.dialect.FirebirdDialect |
https://hermeslog.tistory.com/683
728x90
'Spring Boot Framework' 카테고리의 다른 글
[Spring Boot] Spring Data JPA에서 GroupBy 처리하기 (0) | 2023.02.26 |
---|---|
[Spring Boot] Common Application properties (0) | 2023.02.26 |
[Spring Boot] Spring Boot에서 properties 값 주입받기 (0) | 2023.02.04 |
[Spring Boot] 개발환경 구축 - File Upload (0) | 2023.02.04 |
[Spring Boot] 개발환경 구축 - Messages (0) | 2023.02.01 |