티스토리 뷰
01) build.gradle
02) application.properties
spring.datasource
- datasourcce는 MySQL 설정과 관련됨
spring.jpa.data.database_platform
- JPA 데이터베이스 플랫폼을 지정함.
- 여기서는 MySQL InnoDB를 사용하도록 설정.
spring.jpa.open-in-view
- OSIV(Open Session In View)는 웹 요청이 완료될 때까지 동일한 EntityManager를 갖도록 해줌.
- 스프링부트에서 OSIV가 기본값으로 true인데 성능과 확장성 면에서 안좋다고해 false로 설정을 끔.
spring.jpa.show-sql
- 콘솔에 JPA 실행 쿼리를 출력.
spring.jpa.hibernate.format_sql
- 콘솔에 출력되는 JPA 실행 쿼리를 가독성있게 표현함.
spring.jpa.hibernate.ddl_auto
- 데이터베이스 초기화 전략을 설정함.
> none : 아무것도 실행 안함.
> create : SessionFactory가 시작될 때 기존테이블을 삭제 후 다시 생성함.
> create-drop : create와 같으나 SessionFactory가 종료될 때 drop을 실행함.
> update : 변경된 스키마만 반영함.
> validate : 엔티티와 테이블이 정상적으로 매핑되었는지만 확인함.
logging.level.org.hibernate.type.descriptor.sql
- SQL에서 물음표로 표기된 부분(bind parameter)을 로그로 출력해서 확인할 수 있음.
이 외에도 다양한 설정이있음.
ex) spring.jpa.hibernate.naming : 엔티티와 테이블에 대한 네이밍 전략
spring.jpa.hibernate.use-new-id-generator-mappings : auto increment에 대한 설정
애노테이션으로 해결 가능한 것들은 애노테이션을 통해 처리도 가능함.
'Spring boot > JPA' 카테고리의 다른 글
06. JPA - @Temporal annotation (0) | 2021.11.16 |
---|---|
05. JPA - Pageable을 통한 페이징 처리 (0) | 2021.06.15 |
04. JPA - Pageable (페이징 처리) (0) | 2021.06.14 |
03. JPA - Update 테스트 시 유의 사항 ( @Transactional, @Rollback(false) ) (0) | 2021.06.09 |
02. JPA - orElseThrow() 관련 (0) | 2021.05.31 |