Eclipse JSR220 tooling project delivers 2nd major milestone

Discussions

News: Eclipse JSR220 tooling project delivers 2nd major milestone

  1. 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.

    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.

    Features Include:

    Project Configuration
    Any Eclipse project can be enabled as a persistence project allowing appropriate JSR220 artifacts to be packed with the projects deployment artifacts.

    Runtime Configuration
    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.

    Connection Configuration
    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.

    Forward Engineering
    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.

    Annotation Support
    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

    Meet-in-Middle mapping
    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.

    Threaded Messages (7)

  2. Download link incorrect[ Go to top ]

    The download link is incorrect. Please use the link on the main site instead.

    http://www.eclipse.org/jsr220orm

    Cheers
    David
  3. Superbe and impressive[ Go to top ]

    Can't wait to play with Hibernate with this!!!
  4. Does not look like anytime soon[ Go to top ]

    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....
  5. Does not look like anytime soon[ Go to top ]

    Hi Werner

    The JSR220-ORM project contains a family of plugins that provide a framework for ORM tooling in Eclipse:

    org.eclipse.jsr220orm.core
    org.eclipse.jsr220orm.metadata
    org.eclipse.jsr220orm.metadata.edit
    org.eclipse.jsr220orm.metadata.ui

    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.

    Cheers
    David
  6. what is with oracle-jboss[ Go to top ]

    do we have a clone project under http://www.eclipse.org/proposals/eclipse-ejb30-orm/index.html?

    can anybody comment on this?
  7. what is with oracle-jboss[ Go to top ]

    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.
  8. what is with oracle-jboss[ Go to top ]

    Hi Christian
    ... 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.

    Cheers
    David