Jeg vil virkelig vite mer om oppdateringen, eksporten og verdiene som kan gis til hibernate.hbm2ddl.auto
Jeg trenger å vite når jeg skal bruke oppdateringen og når ikke? Og hva er alternativet?
Dette er endringer som kan skje over DB:
Hva er den beste løsningen i hvert enkelt tilfelle?
Fra fellesskapets dokumentasjon:
hibernate.hbm2ddl.auto Validerer eller eksporterer automatisk DDL-skjema til databasen når SessionFactory opprettes. Med create-drop vil databaseskjemaet bli slettet når SessionFactory lukkes eksplisitt.
f.eks. validate | update | create | create-drop
Så listen over mulige alternativer er,
Disse alternativene ser ut til å være verktøy for utviklere og ikke for å legge til rette for databaser på produksjonsnivå, det kan være lurt å se på følgende spørsmål; Hibernate: hbm2ddl.auto=update in production?.
Konfigurasjonsegenskapen heter hibernate.hbm2ddl.auto
.
I vårt utviklingsmiljø setter vi hibernate.hbm2ddl.auto=create-drop
til å slippe og opprette en ren database hver gang vi distribuerer, slik at databasen vår er i en kjent tilstand.
I teorien kan du angi hibernate.hbm2ddl.auto=update
for å oppdatere databasen din med endringer i modellen din, men jeg ville ikke stole på det på en produksjonsdatabase. En tidligere versjon av dokumentasjonen sa at dette var eksperimentelt, i det minste; Jeg vet ikke den nåværende statusen.
Derfor, for vår produksjonsdatabase, ikke angi hibernate.hbm2ddl.auto
- standard er å ikke gjøre noen databaseendringer. I stedet oppretter vi manuelt et SQL DDL-oppdateringsskript som bruker endringer fra en versjon til den neste.