Open Gunju-Ko opened 3 years ago
spring.jpa.hibernate.ddl-auto
는 위의 설정 말고로 추가적으로 none
을 제공하는데 none
으로 설정하게 되면 자동생성 기능을 사용하지 않는다. 아래는 spring boot의 HibernateProperties 클래스 코드이다.
String ddlAuto = determineDdlAuto(existing, settings::getDdlAuto);
if (StringUtils.hasText(ddlAuto) && !"none".equals(ddlAuto)) {
result.put(AvailableSettings.HBM2DDL_AUTO, ddlAuto);
}
else {
result.remove(AvailableSettings.HBM2DDL_AUTO);
}
spring.jpa 관련 프로퍼티
spring.jpa.database
: 타겟 데이터베이스로 코드에선Enum
을 관리된다. 디폴트는 자동으로 감지된다.spring.jpa.database-platform
: 타겟 데이터베이스 이름,spring.jpa.database
는 Enum으로 관리되기 때문에 Enum에 원하는 값이 없는 경우 대체로 사용이 가능하다.spring.jpa.generate-ddl
: 시작시에 스키마를 초기화 할지 여부 (기본값 : false)spring.jpa.mapping-resources
:persistence.xml
의mapping-file
과 같다.spring.jpa.open-in-view
: OpenEntityManagerInViewInterceptor를 등록한다. (기본값true
)spring.jpa.properties.*
: JPA 프로바이더에게 추가적으로 제공할 native 설정spring.jpa.show-sql
: SQL문을 로깅할지 말지 결정 (기본값 : false)spring.jpa.hibernate
spring.jpa.hibernate.ddl-auto
:hibernate.hbm2ddl.auto
프로퍼티의 숏컷이다.create-drop
none
spring.jpa.hibernate.naming.implicit-strategy
: implicit naming strategy의 full namespring.jpa.hibernate.naming.physical-strategy
: physical naming strategy의 full namespring.jpa.hibernate.use-new-id-generator-mappings
: Hibernate의 새로운IdentifierGenerator
를 사용할지 여부.hibernate.id.new_generator_mappings
의 숏컷으로 해당값을 설정하지 않으면 true로 설정된다.참고 : https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#application-properties.data.spring.jpa.database