title: Java equivalent for database schema changes like South for Django?
body: <p>I've been working on a Django project using South to track and manage database schema changes. I'm starting a new Java project using Google Web Toolkit and wonder if there is an equivalent tool. For those who don't know, here's what South does:</p>
  
  <ul>
  <li>Automatically recognize changes to my Python database models (add/delete columns, tables etc.)</li>
  <li>Automatically create SQL statements to apply those changes to my database</li>
  <li>Track the applied schema migrations and apply them in order</li>
  <li>Allow data migrations using Python code. For example, splitting a name field into a first-name and last-name field using the Python split() function</li>
  </ul>
  
  <p>I haven't decided on my Java ORM yet, but Hibernate looks like the most popular. For me, the ability to easily make database schema changes will be an important factor.</p>