Overview

This tutorial provides the necessary information on how the Java Diagram Editor can be used.

Prerequisites

This tutorial is based on the Eclipse Juno and JPA 2.0 projects.

To install JPA Diagram Editor project follow the steps described in How to Install section of the JPA Diagram Editor wiki main page.

Open JPA Diagram Editor

Open the Eclipse IDE.

In the Project Explorer view with rigth click of the mouse select New -> JPA Project.

Enter the name of the project. As a JPA version select 2.0 and in the Configuration section select Default Configuration.

On the last wizard page JPA Facet select the download button to download the persistence provider library:

On the newly opened dialog select EclipseLink 2.4.1 - Juno and finish the Download Library wizard.

The Open Diagram action is available on two levels:

On project level: Select the newly created JPA project and from its context menu select JPA Tools -> Open Diagram

On JPA node level: Expand the newly created JPA project and from the context menu of its JPA node, select Open Diagram

Create new Entity

In the Eclipse IDE create new JPA 2.0 project and open the JPA Diagram Editor. For more information on how to do this, follow the steps described in the previous section Open JPA Diagram Editor.

From the right site of the editor, the so called Palette section, select Java Entity and drag&drop it to the diagram. A new entity class org.persistence.Entity1 with default primary key attribute should be created and shown in the diagram:

Visualize Existing Entities in JPA Diagram Editor

In the Eclipse IDE create new JPA 2.0 project. Open the JPA Diagram Editor. For more information on how to do this, follow the steps described in section Open JPA Diagram Editor.

Create new entity as you select the created JPA project and from its context menu select New -> Entity.

Open the JPA Diagram Editor. For more information on how to do this, follow the steps described in section Open JPA Diagram Editor.

To open existing entity in the JPA Diagram Editor:

expand the JPA project to entity resource level in the Project Explorer view, select the created entity and drag&drop it to the diagram.

or in the JPA Diagram Editor with right click of the mouse select Show All Entities.

Move Entity

Entity can be moved all around in the JPA Editor Diagram. Just select the created entity in the diagram, hold the mouse and move it where you want to place it.

Except that entity resource can be moved from package to package. The default entity package is org.persistence. Select the entity in the diagram and choose Refactor Entity Class -> ... Movefrom its context menu and select the package where you want to move the entity resource.

Edit Entity

In the Eclipse IDE create new JPA 2.0 project. Open its diagram editor and create new entity. For more information on how to create new entity follow the steps described in the previous section Create new Entity. There are two ways to rename entity:

Select entity and click on its header name - this is the so called direct editing

Note: If you double click on the entity, its source code will be opened.

Note: Entity can be edited using the default JPA Details view. To open it just select the entity and from its context menu choose Open JPA Details View.

Collapse/Expand Entity

In the Eclipse IDE create new JPA 2.0 project. Open its diagram editor and create new entity. For more information on how to create new entity follow the steps described in the previous section Create new Entity.

By default the entity is expanded. To collapse entity, select it in the diagram

and from its context buttons select Collapse:

or from its context menu select Collapse JPA Entity.

Entity is collapsed:

To expand entity, select it in the JPA Diagram Editor

and from its context menu select Expand:

or from its context menu select Expand JPA Entity.

Entity is expanded:

Remove Entity

In the Eclipse IDE create new JPA 2.0 project. Open its diagram editor and create new entity. For more information how to create new entity follow the steps described in the previous section Create new Entity. Entity can me deleted as a resource or removed only from the JPA diagram.

To delete entity select it and

from its context buttons choose Delete:

from its context menu select Delete

To remove entity from diagram, select it and

from its context buttons choose Discard Changes and Remove if you don't want to save the changes that were made if there are any:

from its context menu select Remove All Entities From Diagram -> ... and Discard Changes

or from its context buttons choose Save and Remove to save all changes that were made:

from its context menu select Remove All Entities From Diagram -> ... and Save Changes

Add new Attribute

In the Eclipse IDE create new JPA 2.0 project. Open its diagram editor and create new entity. For more information how to create new entity follow the steps described in the previous section Create new Entity. Select the newly created entity or just place the mouse over it and select from its context buttons Create Attribute:

A new attribute named Attribute1 should be added under section Other Attributes:

Edit Attribute

In the Eclipse IDE create new JPA 2.0 project. Open its diagram editor and create new entity. Create new attribute. For more information how to create new attribute follow the steps described in the previous section Create new Attribute.

Entity's Attribute can be renamed or its type can be changed.

To rename the attribute, select it and press the mouse one more time, the editing area should be shown.

Note: If you double click on the attribute, the entity's source code will be opened.

To edit the attributes type, select it and from its context menu choose Refactor Attribute Type... and change the attribute type.

Note: Entity's attributes can be edited using the default JPA Details view. To open it just select the created entity attribute and from its context menu choose Open JPA Details View.

Remove Attribute

In the Eclipse IDE create new JPA 2.0 project. Open its diagram editor and create new entity. Create new attribute. For more information how to create new attribute follow the steps described in the previous section Create new Attribute.

To remove attribute, select it or just place the mouse over it. Select the only one context button Delete Attribute:

In the Eclipse IDE create new JPA 2.0 project. Open its diagram editor and create two entities. For more information how to create new entity follow the steps described in the previous section Create new Entity.

All kinds of relations are available in the right side of the JPA Diagram Editor, in the so called Palette.

Select some kind of relationship from the Palette, for example: One-to-Many unidirectional.

Select the entity that will be owner of the relationship and drag&drop the relation to the second entity:

A relation is created, and a new attribute is added under the Relation Attributes section of the owner entity.

Edit Relations between Entities

In the Eclipse IDE create new JPA 2.0 project. Open its diagram editor and create two entities. For more information how to create new entity follow the steps described in the previous section Create new Entity.

Select some kind of relationship from the Palette, for example: Many-to-Many bidirectional.

From the one of the entity drag&drop the relation the the other:

A new bidirectional relationship is created and the both entities have an attribute under Relation Attributes section.

Select one of the entities and delete its relation attribute. The relationship will be automatically transformed from Many-to-Many bidirectional to Many-to-Many unidirectional:

Note: To delete relationship between entities, just delete their attributes which are under Relation Attributes section.

Entity Compartments

The attributes of one entity can be separated in three groups: primary key, relation attributes and other attributes. That's way the entity is separated in three compartments /groups/ named exactly the same way:

Entity's compartments can be collapsed and axpanded too.

To collapse some of the compartments either double click on its title or select the title and from its context menu select Collapse Attributes Group:

To expand some of the compartments either double click on already collapse compartment or select it and from its context menu choose Expand Attributes Group:

Note: Changing the annotation of some attribute, it will be automatically moved in another compartments. For example, open the source code of the entity and delete the @Id annotation of the primary key attributes. It will be moved from Primary Key section to Other Attributes compartment of the entity:

JPA Diagram Editor Preference Page

There is a preference page from which the default package name, entity access type, default collection type for relation creation and etc. for all projects in the workspace can be changed. To open this preference page go to Window -> Preferences -> General -> Editors -> JPA Diagram Editor

JPA Diagram Editor Properties Page

There is a properties page from which the default package name, entity access type, default collection type for relation creation and etc. can be changed on project level. To open this property page just select the created JPA project in the Project Explorer view and from its context menu select Properties -> Java Persistence -> JPA Diagram Editor.

Create new Mapped Superclass

In the Eclipse IDE create new JPA 2.0 project and open the JPA Diagram Editor. For more information on how to do this, follow the steps described in the previous section Open JPA Diagram Editor.

From the right site of the editor, the so called Palette section, select Mapped Superclass and drag&drop it to the diagram. A new mapped superclass org.persistence.MpdSuprcls1 without any attributes should be created and shown in the diagram:

Create new Inherited Entity

In the Eclipse IDE create new JPA 2.0 project and open the JPA Diagram Editor. For more information on how to do this, follow the steps described in the previous section Open JPA Diagram Editor.

Because an entity can inherit either another entity or mapped superclass, there are two ways to create such an entity in the JPA Diagram Editor.

To create an inherited entity from another entity, create one entity in the JPA Diagram Editor and from the right site of the editor, the so called Palette section, select Inhereted Entity and from the already created entity drag&drop the connection somewhere in the diagram:

To create an inherited entity from mapped superclass, create one mapped superclass in the JPA Diagram Editor and from the right site of the editor, the so called Palette section, select Inhereted Entity and from the already created mapped superclass drag&drop the connection somewhere in the diagram:

Create Relations between Mapped Superclass and Entity

JPA Editor Diagram support only the four unidirectional kinds of relations between mapped superclass and an entity: One-to-One, One-to-Many, Many-to-One, Many-to-Many.

In the Eclipse IDE create new JPA 2.0 project. Open its diagram editor and create two entities. For more information how to create new entity follow the steps described in the previous section Create new Entity.

Select some kind of relationship from the Palette, for example: One-to-One unidirectional.

Select the mapped superclass that will be owner of the relationship and drag&drop the relation to the entity:

A relation is created, and a new attribute is added under the Relation Attributes section of the mapped superclass.

Note: It is not possible to create a unidirectional relationship from an entity to a mapped superclass, as it is not allowed to create bi-directional relationship from a mapped superclass to an entity and vice versa.

Soon in Eclipse Kepler Release

The visualization of the embeddables will be part of the Eclipse Kepler.