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:
- Design database with visual modeller
- Create entities from the visual model
- Update entity changes to the visual model
- Import existing database schema as visual model / entity classes
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.
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).
The products I found so far are:
- NetBeans (6.7.1): supports generating Java classes from UML, JPA needs specific templates (sounds too tricky). Doesn't identify new elements from classes.
- DbSchema: 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.
- Omondo EclipseUML: seems to have some sort of support, but costs like hell.
- SchemaSpy: Supports only creating documentation from an existing database schema. Also couldn't find a comprehensive graph.
- Toad Data Modeller: Somewhat messy homepage, however seems to support creating diagrams from existing DB as well as creating DB schema from a diagram. Doesn't have code generation facilities.
- Eclipse WTP's Dali JPA Tools: No support for visual presentation, however targeted at providing aid to JPA development.
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).
Any suggestions?