Spring boot + Spring Data JPA(하이버네이트)
Spring Data JPA를 사용하면 JPA구현체로 Hibernate를 사용한다.
Dependency를 따라가 보면 관련된 여러 라이브러리들이 추가되어 있는 것을 확인 할 수 있다.
- spring-orm: 스프링과 JPA를 연동하기 위한 라이브러리
- hibernate-core
- hibernate-entitymanager: 하이버네이트가 JPA 구현체로 동작하도록 JPA 표준을 구현한 라이브러리
- hibernate-jap-2.1: JPA2.1 표준 API 라이브러리. *javax.persistence.** 를 포함하고 있다.
- tomcat-jdbc: 커넥션 풀
1 | # pom.xml |
spring-data-jpa 및 hibernate 설정 및 속성 의미
설정 방법
src/main/resources 및에 application.properties 나
application.yml 에 관련 속성을 설정하면 된다.
1 | # src/main/resources/application.yml |
각 속성의 의미
- spring.data.jpa.repositories.enabled=true # Enable JPA repositories.
- spring.jpa.database-platform= # Name of the target database to operate on, auto-detected by default. Can be alternatively set using the “Database” enum.
- spring.jpa.database= # Target database to operate on, auto-detected by default. Can be alternatively set using the “database-platform” property.
- spring.jpa.generate-ddl=false # Initialize the schema on startup.
- spring.jpa.open-in-view=true # Register OpenEntityManagerInViewInterceptor. Binds a JPA EntityManager to the thread for the entire processing of the request.
- spring.jpa.show-sql=false # Enable logging of SQL statements.
- spring.jpa.hibernate.ddl-auto= # DDL mode. This is actually a shortcut for the “hibernate.hbm2ddl.auto” property. Default to “create-drop” when using an embedded database, “none” otherwise.
- spring.jpa.hibernate.naming-strategy= # Naming strategy fully qualified name.
- spring.jpa.properties= # Additional native properties to set on the JPA provider.
hibernate 상세 설정 참조
NOTE SpringBoot에서 환경설정
spring boot에서는 /src/main/resources 밑에 application.properties와 application.yml 설정을 자동으로 읽어들인다.