java


Hibernate hbm2ddl.auto update does not drop columns with mysql


Its adds new ones, but as far as I can see it does not drop the old ones ?
When I say old ones, I mean properties of entity objects that are now completely removed,where previously they were present and annotated with #column
Are my only options to drop the col manually or change the config value to create ? Neither of which are particularly charming.
Or something else ?
For what it's worth, never EVER use hbm2ddl.auto on any live/production database.
Yes, it is "working as intended" that "update" doesn't drop any columns that are not referenced (probably to allow you to use "legacy" databases that have columns that are not used by your hibernate app, but may be used by external applications). However, in certain circumstances, hibernate can drop and recreate columns if, for instance, you change the datatype in your entity. That is one of the reasons you should never use it for any production system.
Personally, I would never trust an automated "black box" framework to handle changes to the datamodel in anything but strictly local/dev environments. I have always set it up so in the local dev environments, you may do create-drop. Once it's time to start promoting your app to central test/stage and then prod, all database changes are done by DBA:s with good old fashioned DDL scripts. Data is far too valuable to risk on a potential bug or unexpected behavior in hibernate (or any other ORM/automated framework). I even make sure that the database user configured in my applications doesn't even have create/drop/alter privileges in the database, just to prevent disasters happening due to bad configuration in hibernate.
So, to answer your question - if you want hibernate to always maintain your database reflecting your entities exactly, "create-drop" is your only option. Just don't ever use it on anything but local dev databases.
I'd have a look into liquibase for keeping your database in sync with your enitities. Maybe a bit of an overkill but well worth it.

Related Links

How to add two numbers accepted in String form in Java?
Accessing Images from image folder in JAVA
Why Request doesn't reach to controller in spring mvc?
Proper POJO for serializing JSON with Jackson library
Error while launching the app
Could not load JDBC driver class [com.mysql.jdbc.Driver]
Code Won't Drop Students From a Course [Java]
Deploying a simple Java Spark web app
JPasswordField.getPassword() is still not secured?
char[] to full quantified name of java class for method parameter
max thread calls in specified seconds
App Engine “NoSuchMethodError” for “Stopwatch.createUnstarted”
java.lang.UnsatisfiedLinkError in NDK android studio
Hbox location of GridPanels
Algorithm for LED light detection using android phone's camera
Activiti > bpmn : not able to assign candidate group dynamically using variables

Categories

HOME
amazon-ec2
raspberry-pi
spring-cloud-stream
paw-app
azure-media-services
synchronization
adfs
session-variables
windows-10-universal
gnupg
vifm
nano-server
spring-xd
vb.net-2010
windows-server-2012
zebra-printers
dosgi
transformation
samoa
nodatime
restful-authentication
opennlp
microsoft-sync-framework
django-storage
traffic
maxmind
webkitspeechrecognition
quote
tasklet
madlib
preg-match
exuberant-ctags
code-contracts
perlin-noise
jmonkeyengine
dynamics-crm-2013
streamsets
vapor
document.write
ncalc
.net-4.6.2
youcompleteme
prolog-setof
hendrix
pnotify
dandelion
powercli
veracode
mu
carrot
tactic
epson
blacklist
time-and-attendance
wdf
url-pattern
infix-notation
mongocsharpdriver
impresspages
yaws
bluemix-app-scan
rtbkit
reactive-banana
intellij-14
django-unittest
quicklisp
android-listview
appfabric-cache
composite
bigbluebutton
kineticjs
block-device
asp.net-web-api-odata
eol
balanced-payments
terminal-services
blending
padarn
distutils
referrer
libstdc++
trusted
datawindow
twrequest
onsubmit
amazon-appstore
asyncfileupload
work-stealing
spyware
deobfuscation
jmock
mirah
exchange-server-2003
swing-app-framework
scripting-languages
data-acquisition
wsdl.exe

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App