title: Database modeller for JPA with visual diagrams
body: <p>I am looking for a tool to help in designing and implementing database and entities for a Java project. Probably we are using JPA or direct Hibernate. The features I look for are:</p>
  
  <ul>
  <li>Design database with visual modeller</li>
  <li>Create entities from the visual model</li>
  <li>Update entity changes to the visual model</li>
  <li>Import existing database schema as visual model / entity classes</li>
  </ul>
  
  <p>So the idea is to originally create a database model with visual tool, then auto-to generate entities from it and afterwards modify the code and expect the visual diagram to reflect the changes (so it works for documentation purposes). I want a full representation of table schema, not just an ER diagram.</p>
  
  <p>There have been other questions (of course) but they don't seem to be so specific to Java/JPA and don't have as strict requirements. They are also often just about generating a diagram from code or database schema - they don't require bi-directional support (if that's the right term).</p>
  
  <p>The products I found so far are:</p>
  
  <ul>
  <li><a href="http://netbeans.org/" rel="noreferrer">NetBeans</a> (6.7.1): supports generating Java classes from UML, JPA needs specific templates (sounds too tricky). Doesn't identify new elements from classes.</li>
  <li><a href="http://www.dbschema.com/" rel="noreferrer">DbSchema</a>: Seems to offer some visualization of schemas, couldn't get it started so can't say much. Commercial, but it also has a free version.</li>
  <li><a href="http://www.ejb3.org/products_architecturee.html" rel="noreferrer">Omondo EclipseUML</a>: seems to have <strike><a href="http://www.forum-omondo.com/documentation_eclipseuml_2008/Eclipse_Database/Create_New_JPA_Classes/index.html" rel="noreferrer">some sort of support</a></strike>, but <a href="http://www.ejb3.org/pricing.html" rel="noreferrer">costs like hell</a>.</li>
  <li><a href="http://schemaspy.sourceforge.net/" rel="noreferrer">SchemaSpy</a>: Supports only creating documentation from an existing database schema. Also couldn't find a comprehensive graph.</li>
  <li><a href="http://modeling.inside.quest.com/index.jspa" rel="noreferrer">Toad Data Modeller</a>: Somewhat messy homepage, however <em>seems</em> to support creating diagrams from existing DB as well as creating DB schema from a diagram. Doesn't have code generation facilities.</li>
  <li><a href="http://www.eclipse.org/webtools/" rel="noreferrer">Eclipse WTP</a>'s <a href="http://www.eclipse.org/webtools/dali/" rel="noreferrer">Dali JPA Tools</a>: No support for visual presentation, however targeted at providing aid to JPA development.</li>
  </ul>
  
  <p>As a conclusion, Dali seems most interesting, because it's targeted for JPA development. However, it doesn't seem to have a visual diagram of any sort (just outlines and stuff).</p>
  
  <p>Any suggestions?</p>