title: How to update a database schema without losing your data with Hibernate?
body: <p>Imagine you are developing a Java EE app using Hibernate and JBoss. You have a running server that has some important data on it. You release the next version of the app once in a while (1-2 weeks) and they have a bunch of changes in the persistence layer:</p>
  
  <ul>
  <li>New entities</li>
  <li>Removed entities</li>
  <li>Attribute type changes</li>
  <li>Attribute name changes</li>
  <li>Relationship changes</li>
  </ul>
  
  <p>How do you effectively set up a system that updates the database schema and preserves the data? As far as I know (I may be mistaking), Hibernate doesn't perform alter column, drop/alter constraint.</p>
  
  <p>Thank you,
  Artem B.</p>