15 Aralık 2020 Salı

SpringBoot JPA Database Initialization - Metadata'dan Veritabanını Otomatik Oluşturma

Giriş
Burada amaç JPA kullanarak Metadata'dan Veri tabanını Otomatik Oluşturma. Yani JPA Kullanarak Database Initialization.

İki tane alan var
1. spring.jpa.generate-ddl
Açıklaması şöyle. true ve false değer alabilir. Varsayılan değeri false
Whether to initialize the schema on startup
2. spring.jpa.hibernate.ddl-auto
Açıklaması şöyle. Eğer bu alana değer atanırsa sanırım spring.jpa.generate-dll otomatik olarak true kabul ediliyor.
78.1 Initialize a database using JPA
spring.jpa.generate-ddl (boolean) switches the feature on and off and is vendor independent. spring.jpa.hibernate.ddl-auto (enum) is a Hibernate feature that controls the behavior in a more fine-grained way. See below for more detail.
You can set spring.jpa.hibernate.ddl-auto explicitly and the standard Hibernate property values are none, validate, update, create, create-drop.
Açıklaması şöyle
Spring internally chooses a default value for this property: create-drop if we are using an embedded database, or none otherwise.
Örne - create
Şöyle yaparız
spring.jpa.database-platform  = org.hibernate.dialect.Oracle10gDialect
spring.jpa.hibernate.ddl-auto = create
spring.jpa.hibernate.naming.implicit-strategy =
 org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyHbmImpl
spring.jpa.hibernate.naming.physical-strategy = 
  org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy
spring.jpa.properties.hibernate.current_session_context_class = 
  org.springframework.orm.hibernate5.SpringSessionContext
spring.jpa.show-sql= true
Örnek - update
Şöyle yaparız
hibernate.hbm2ddl.auto=update
spring.jpa.hibernate.ddl-auto=update
Örnek - update
Yeni sütunları eklemek için şöyle yaparız. Eski sütunları silmez !
spring.jpa.hibernate.ddl-auto=update
Eğer schema ismini de belirtmek istersek şöyle yaparız
spring.jpa.properties.hibernate.default_schema=myschema

Hiç yorum yok:

Yorum Gönder