[spring boot] jpa - mariadb application.properties 설정
spring boot 3.4.1 version에서의 설정 예제입니다. |
Dependencies에 Spring Data Jpa와 MariaDB Driver 가 추가 하면
|
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'
추가 후 프로젝트를 Run하면 에러가 발생합니다.
|
spring.datasource.url=jdbc:mariadb://localhost:3306/데이터베이스명?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul&allowPublicKeyRetrieval=true
spring.datasource.username=사용자 id
spring.datasource.password=비밀번호
spring.jpa.hibernate.ddl-auto=none
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
spring.jpa.open-in-view=false
다음은 주석을 추가한 내용입니다.
spring.datasource.url=jdbc:mariadb://localhost:3306/데이터베이스명?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul&allowPublicKeyRetrieval=true
# MariaDB 데이터베이스의 연결 URL을 설정합니다.
# - 'localhost'는 데이터베이스 서버가 로컬 호스트에 있음을 나타냅니다.
# - '3306'은 MariaDB의 기본 포트 번호입니다.
# 추가적인 파라미터:
# - 'useSSL=false': SSL 연결을 사용하지 않도록 설정합니다.
# - 'useUnicode=true': 유니코드 문자셋을 사용하도록 설정합니다.
# - 'serverTimezone=Asia/Seoul': 서버의 시간대를 'Asia/Seoul'로 설정합니다.
# - 'allowPublicKeyRetrieval=true': 퍼블릭 키 검색을 허용합니다. 이는 비밀번호를 RSA로 암호화하여 전송할 때 필요합니다.
spring.datasource.username=사용자id
# 데이터베이스에 연결할 때 사용할 사용자 이름을 설정합니다.
spring.datasource.password=비밀번호
# 데이터베이스에 연결할 때 사용할 비밀번호를 설정합니다.
# 민감한 정보이므로 보안에 유의해야 합니다.
spring.jpa.hibernate.ddl-auto=none
# Hibernate가 데이터베이스 스키마를 자동으로 생성하거나 업데이트하지 않도록 설정합니다.
# 'none'으로 설정하면 애플리케이션 실행 시 스키마 변경을 수행하지 않습니다.
# 일반적으로 프로덕션 환경에서는 수동으로 스키마를 관리하기 위해 'none'으로 설정합니다.
# 설정값 설명
# none :
# Hibernate가 데이터베이스 스키마를 자동으로 생성하거나 갱신하지 않습니다.
# 즉, 애플리케이션을 실행할 때 스키마 변경 작업을 수행하지 않습니다.
# validate :
# 애플리케이션 시작 시 엔티티 클래스와 기존 데이터베이스 스키마가 일치하는지 검증합니다. 일치하지 않을 경우 예외를 발생시킵니다.
# 이 설정은 스키마를 변경하지 않고, 매핑의 정확성을 확인하는 데 사용됩니다.
# update :엔티티 클래스의 변경 사항을 기존 데이터베이스 스키마에 반영합니다.
# 새로운 컬럼이나 테이블은 추가되지만, 기존의 데이터나 테이블은 삭제되지 않습니다.
# 개발 중에 유용하지만, 프로덕션 환경에서는 주의해서 사용해야 합니다.
# create :
# 애플리케이션 시작 시 기존 데이터베이스의 테이블을 삭제하고, 엔티티 클래스에 기반하여 새로운 스키마를 생성합니다.
# 모든 기존 데이터는 삭제되므로, 개발 초기 단계에서 주로 사용됩니다.
# 개발 중에 유용하지만, 프로덕션 환경에서는 주의해서 사용해야 합니다.
# create-drop:
# create와 유사하게 애플리케이션 시작 시 스키마를 생성하지만, 애플리케이션 종료 시 스키마를 삭제합니다.
# 테스트 환경에서 유용하게 사용할 수 있습니다.
# 반드시 테스트 환경에서만 사용하세요
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
# Hibernate의 물리적 네이밍 전략을 지정합니다.
# 'PhysicalNamingStrategyStandardImpl'은 엔티티 필드명을 그대로 테이블의 컬럼명으로 매핑합니다.
# 이를 통해 엔티티 필드명과 데이터베이스 컬럼명이 일치하게 됩니다.
spring.jpa.open-in-view=false
# Open Session in View 패턴을 비활성화합니다.
# 기본값은 'true'이며, 이는 뷰 렌더링 시점까지 영속성 컨텍스트를 열어두어 지연 로딩이 가능하게 합니다.
# 하지만 이는 DB 커넥션을 장시간 점유할 수 있어 성능 이슈를 유발할 수 있으므로, 일반적으로 'false'로 설정하여 트랜잭션 범위 내에서만 영속성 컨텍스트를 유지하도록 합니다.
'Java > Spring Boot' 카테고리의 다른 글
[spring boot] mybatis - mssql application.yml 설정 (0) | 2025.03.11 |
---|---|
[spring boot] MultipartFile이란? (0) | 2025.02.27 |
[spring boot] build.gradle dependencies (의존성) 설정 (1) | 2025.01.24 |
[spring boot] build.gradle 설정 (1) | 2025.01.24 |
[spring boot] mybatis - mariadb application.yml 설정 (0) | 2025.01.08 |