Haluan todella tietää enemmän päivityksestä, viennistä ja arvoista, jotka voidaan antaa hibernate.hbm2ddl.auto
Minun on tiedettävä, milloin päivitystä käytetään ja milloin ei? Ja mikä on vaihtoehto?
Nämä ovat muutoksia, jotka voivat tapahtua DB:n aikana:
Mikä on kussakin tapauksessa paras ratkaisu?
Auto Validoi tai vie automaattisesti skeema-DDL:n tietokantaan, kun SessionFactory luodaan. >hibernate.hbm2ddl.auto. Kun käytössä on create-drop, tietokannan skeema poistetaan, kun SessionFactory suljetaan nimenomaisesti.
esim. validate | update | create | create-drop.
Luettelo mahdollisista vaihtoehdoista on siis seuraava,
Nämä vaihtoehdot näyttävät olevan tarkoitettu kehittäjien työkaluiksi eikä helpottamaan mitään tuotantotason tietokantoja, kannattaa ehkä vilkaista seuraavaa kysymystä; [Hibernate: hbm2ddl.auto=update in production?
Määritysominaisuuden nimi on hibernate.hbm2ddl.auto
.
Kehitysympäristössämme asetamme hibernate.hbm2ddl.auto=create-drop
pudottamaan ja luomaan puhtaan tietokannan joka kerta, kun otamme sen käyttöön, jotta tietokantamme on tunnetussa tilassa.
Teoriassa voit asettaa hibernate.hbm2ddl.auto=update
päivittääksesi tietokantasi mallin muutosten myötä, mutta en luottaisi siihen tuotantotietokannassa. Aiemmassa dokumentaatioversiossa sanottiin, että tämä oli ainakin kokeellista; en tiedä tämänhetkistä tilannetta.
Älä siis aseta tuotantotietokannassamme arvoa hibernate.hbm2ddl.auto
- oletusarvo on, ettei tietokantaan tehdä muutoksia. Sen sijaan luomme manuaalisesti SQL DDL -päivitysskriptin, joka soveltaa muutoksia versiosta toiseen.