The Eclipse JSR220 project provides tooling support for JSR220 specification runtimes. The projects Milestone 2 release provides Generic EJB 3 runtime support and a specific extension for Hibernates EJB 3 preview. The release provides runtime meta data configuration with forward engineering and meet-in-middle mapping using JSR220 annotations. The plugin is now available for download via the Eclipse JSR220 project download page.
- Posted by: Joseph Ottinger
- Posted on: September 14 2005 15:13 EDT
The JSR220 project team, lead by Versant Corporation, is very pleased with the projects progress to date. This is the first major release of a functional ORM tool for the Eclipse community that provides comprehensive mapping capabilities using a code base that is properly integrated with the Eclipse Platform code including WTP, DTP, EMF, GEF, etc. There was quite a lot of work to get the tooling properly integrated with Eclipse EMF models, SWT GUIs, etc., and future work is expected to progress much faster now that the foundation of the implementation is set.
Any Eclipse project can be enabled as a persistence project allowing appropriate JSR220 artifacts to be packed with the projects deployment artifacts.
There are many JSR-220 runtime implementations popping up from various vendors and the tooling allows you to configure a vendor runtime of choice. Currently, there are plugins for Hibernate and generic JSR220 runtimes. Vendors may customize the generic plugin for their runtime vendor extensions.
Database connections can be configured using the Database Explorer and those connections can be used to explore existing relational schema. The connection configuration supports all of the WTP-RDB supported databases and has been tested with Derby and MySQL.
Allows the creation of DDL that is specific to the project configured connection type based on either default specification mappings or customized mappings that can be created using Live ER diagrams, Visual Mapping Editors, direct editing or source code annotations. The DDL can then be applied to your target database in whole or in part to define the schema to your database.
Support for most JSR220 annotations including:
* Id (simple and complex)
* Generators (auto, identity, table sequence, more)
* Inheritance (Single_Table, Joined)
* Entity, Embeddable, EmbeddableSuperClass, AttributeOverrides
* Basic, Column, JoinColumn
* ManyToOne, OneToOne, OneToMany, ManyToMany
* Discriminators, Eager/Lazy loading, Cascading, mappedBy, and more
Support for mapping to existing relational schema in your projects target connection. Existing schema is available via Live ER diagrams that allow pop up selection of tables, drag and drop of column to attributes for mapping, editable column properties, and more.
To try the tool out go the Eclipse project site and download the milestone 2 code and getting started guide.
- Download link incorrect by David Tinker on September 14 2005 23:50 EDT
- Does not look like anytime soon by Werner Punz on September 15 2005 18:52 EDT
- what is with oracle-jboss by Lari Novic on September 16 2005 05:38 EDT
The download link is incorrect. Please use the link on the main site instead.
Can't wait to play with Hibernate with this!!!
There are currently 4-5 hibernated tools, one being middlegen, the other one the hibernate ide,
the third one myeclipse
and the fourth one exadel...
all of them have their advantages and downsides, I would love to see Hibernate support for this, but it does not look to be on the roadmap, instead ejb3 is, which is a good and a bad thing....
The JSR220-ORM project contains a family of plugins that provide a framework for ORM tooling in Eclipse:
These provide an EMF based model of ORM meta data (not just for JSR220), GUIs to display and edit the model (mapping forms, live E/R diagrams), navigation (persistence outline) and a framework for associating a persistence product with a project and integrating with RDB, WTP etc.
There are additional plugins to support specific persistence products:
org.eclipse.jsr220orm.generic (standard EJB 3 support)
org.eclipse.jsr220orm.hibernate (Hibernate support)
org.eclipse.jsr220orm.voa (Versant Open Access support)
The Hibernate support extends the generic EJB 3 plugin. Right now Hibernate uses non-standard default names for tables and columns and the plugin handles that. The plugin also ensures that all the jars needed by Hibernate end up on the project build path.
It will not be difficult to add proprietary Hibernate annotations and XML in future and even different or extra mapping GUIs.
do we have a clone project under http://www.eclipse.org/proposals/eclipse-ejb30-orm/index.html?
can anybody comment on this?
thats politics at work. Of course neither Oracle nor JBoss are going to team up with an OODBMS/JDO shop like Versant to create tooling that is mostly based on the code base of Versants existing VOA tools ;-).
Seriously, there have been talks to the effect of unifying the 2 projects. I even saw a post somewhere recently that indicated that the overlap between the 2 project had come to the eclipse board's attention, and a resolution was underway..
However, I find it hard to imagine how this would happen at this point, without someone losing face.
... to create tooling that is mostly based on the code base of Versants existing VOA tools ;-)
Actually the JSR220-ORM project code is entirely new. Many of the concepts and ideas (e.g. live E/R diagrams) borrow from our tried and tested Swing based tooling but none of the code does. We decided to make a clean start to ensure solid integrated with Eclipse and a clean codebase.