To install JPA Diagram Editor project follow the steps described in [http://wiki.eclipse.org/JPA_Diagram_Editor_Project#How_to_Install How to Install] section of the JPA Diagram Editor wiki main page.

To install JPA Diagram Editor project follow the steps described in [http://wiki.eclipse.org/JPA_Diagram_Editor_Project#How_to_Install How to Install] section of the JPA Diagram Editor wiki main page.

Line 15:

Line 15:

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

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

−

Enter the name of the project and in the ''Configuration'' section select '''''Minimal JPA 1.0 Configuration'''''.

+

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 last wizard page '''''JPA Facet''''' select the download button to download the persistence provider library:

−

[[Image:DownloadLibrary.jpg]]

+

[[Image:DownloadJunoLibrary.jpg]]

−

On the newly opened dialog select '''''EclipseLink 2.1.0 - Helios''''' and finish the '''''Download Library''''' wizard.

+

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

−

[[Image:PersistenceProviderLibrary.jpg]]

+

[[Image:PersistenceProviderLibraryJuno.jpg]]

The '''''Open Diagram''''' action is available on two levels:

The '''''Open Diagram''''' action is available on two levels:

Line 29:

Line 29:

*On project level: Select the newly created JPA project and from its context menu select '''''JPA Tools -&gt; Open Diagram'''''

*On project level: Select the newly created JPA project and from its context menu select '''''JPA Tools -&gt; Open Diagram'''''

−

[[Image:OpenDiagramOnProjectLevel.jpg]]

+

[[Image:OpenJPADiagramOnProjectLevel.jpg]]

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

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

−

[[Image:OpenDiagramOnJPANodeLevel.jpg]]

+

[[Image:OpenDiagram.jpg]]

== Create new Entity ==

== Create new Entity ==

−

In the Eclipse IDE create new JPA 1.0 project and open the JPA Diagram Editor. For more information on how to do this, follow the steps described in the previous section [http://wiki.eclipse.org/JPA_Diagram_Editor_Project_Tutorial#Open_JPA_Diagram_Editor Open JPA Diagram Editor].

+

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 [http://wiki.eclipse.org/JPA_Diagram_Editor_Project_Tutorial#Open_JPA_Diagram_Editor Open JPA Diagram Editor].

From the right site of the editor, the so called Palette section, select '''''Java Entity''''' and drag&amp;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:

From the right site of the editor, the so called Palette section, select '''''Java Entity''''' and drag&amp;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:

−

[[Image:CreateEntity.jpg]]

+

[[Image:CreateJavaEntity.jpg]]

== Visualize Existing Entities in JPA Diagram Editor ==

== Visualize Existing Entities in JPA Diagram Editor ==

−

In the Eclipse IDE create new JPA 1.0 project. Open the JPA Diagram Editor. For more information on how to do this, follow the steps described in section [http://wiki.eclipse.org/JPA_Diagram_Editor_Project_Tutorial#Open_JPA_Diagram_Editor Open 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 [http://wiki.eclipse.org/JPA_Diagram_Editor_Project_Tutorial#Open_JPA_Diagram_Editor Open JPA Diagram Editor].

Create new entity as you select the created JPA project and from its context menu select '''''New -&gt; Entity'''''.

Create new entity as you select the created JPA project and from its context menu select '''''New -&gt; Entity'''''.

Line 64:

Line 64:

== Edit Entity ==

== Edit Entity ==

−

In the Eclipse IDE create new JPA 1.0 project. Open its diagram editor and create new entity. For more information on&nbsp;how to create new entity follow the steps described in the previous section [http://wiki.eclipse.org/JPA_Diagram_Editor_Project_Tutorial#Create_new_Entity Create new Entity]. There are two ways to rename entity:

+

In the Eclipse IDE create new JPA 2.0 project. Open its diagram editor and create new entity. For more information on&nbsp;how to create new entity follow the steps described in the previous section [http://wiki.eclipse.org/JPA_Diagram_Editor_Project_Tutorial#Create_new_Entity 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

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

Line 76:

Line 76:

== Collapse/Expand Entity ==

== Collapse/Expand Entity ==

−

In the Eclipse IDE create new JPA 1.0 project. Open its diagram editor and create new entity. For more information on&nbsp;how to create new entity follow the steps described in the previous section [http://wiki.eclipse.org/JPA_Diagram_Editor_Project_Tutorial#Create_new_Entity Create new Entity].

+

In the Eclipse IDE create new JPA 2.0 project. Open its diagram editor and create new entity. For more information on&nbsp;how to create new entity follow the steps described in the previous section [http://wiki.eclipse.org/JPA_Diagram_Editor_Project_Tutorial#Create_new_Entity Create new Entity].

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

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

Line 104:

Line 104:

== Remove Entity ==

== Remove Entity ==

−

In the Eclipse IDE create new JPA 1.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 [http://wiki.eclipse.org/JPA_Diagram_Editor_Project_Tutorial#Create_new_Entity Create new Entity]. Entity can me deleted as a resource or removed only from the JPA diagram.

+

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 [http://wiki.eclipse.org/JPA_Diagram_Editor_Project_Tutorial#Create_new_Entity Create new Entity]. Entity can me deleted as a resource or removed only from the JPA diagram.

To delete entity select it and

To delete entity select it and

Line 130:

Line 130:

== Add new Attribute ==

== Add new Attribute ==

−

In the Eclipse IDE create new JPA 1.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 [http://wiki.eclipse.org/JPA_Diagram_Editor_Project_Tutorial#Create_new_Entity Create new Entity]. Select the newly created entity or just place the mouse over it and select from its context buttons '''''Create 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 [http://wiki.eclipse.org/JPA_Diagram_Editor_Project_Tutorial#Create_new_Entity Create new Entity]. Select the newly created entity or just place the mouse over it and select from its context buttons '''''Create Attribute''''':

[[Image:CreateAttribute.jpg]]

[[Image:CreateAttribute.jpg]]

Line 140:

Line 140:

== Edit Attribute ==

== Edit Attribute ==

−

In the Eclipse IDE create new JPA 1.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 [http://wiki.eclipse.org/JPA_Diagram_Editor_Project_Tutorial#Create_new_Attribute Create new 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 [http://wiki.eclipse.org/JPA_Diagram_Editor_Project_Tutorial#Create_new_Attribute Create new Attribute].

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

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

Line 154:

Line 154:

== Remove Attribute ==

== Remove Attribute ==

−

In the Eclipse IDE create new JPA 1.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 [http://wiki.eclipse.org/JPA_Diagram_Editor_Project_Tutorial#Create_new_Attribute Create new 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 [http://wiki.eclipse.org/JPA_Diagram_Editor_Project_Tutorial#Create_new_Attribute Create new Attribute].

To remove attribute, select it or just place the mouse over it. Select the only one context button '''''Delete 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 1.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 [http://wiki.eclipse.org/JPA_Diagram_Editor_Project_Tutorial#Create_new_Entity Create new Entity].

+

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 [http://wiki.eclipse.org/JPA_Diagram_Editor_Project_Tutorial#Create_new_Entity Create new Entity].

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

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

Line 178:

Line 178:

== Edit Relations between Entities ==

== Edit Relations between Entities ==

−

In the Eclipse IDE create new JPA 1.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 [http://wiki.eclipse.org/JPA_Diagram_Editor_Project_Tutorial#Create_new_Entity Create new Entity].

+

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 [http://wiki.eclipse.org/JPA_Diagram_Editor_Project_Tutorial#Create_new_Entity Create new Entity].

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

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

Line 221:

Line 221:

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 -&gt; Java Persistence -&gt; JPA Diagram Editor'''''.

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 -&gt; Java Persistence -&gt; 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 [http://wiki.eclipse.org/JPA_Diagram_Editor_Project_Tutorial#Open_JPA_Diagram_Editor Open JPA Diagram Editor].

+

+

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

+

+

[[Image:CreateMappedSuperclass.jpg]]

+

+

== 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 [http://wiki.eclipse.org/JPA_Diagram_Editor_Project_Tutorial#Open_JPA_Diagram_Editor 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&amp;drop the connection somewhere in the diagram:

+

+

[[Image:InheritByEntity.jpg]]

+

+

* 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&amp;drop the connection somewhere in the diagram:

+

+

[[Image:InheritByMappedSuperclass.jpg]]

+

+

== 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 one entity and one mapped superclass. For more information how to create new entity and mapped superclass follow the steps described in the previous sections [http://wiki.eclipse.org/JPA_Diagram_Editor_Project_Tutorial#Create_new_Entity Create new Entity] and [http://wiki.eclipse.org/index.php?title=JPA_Diagram_Editor_Project_Tutorial#Create_new_Mapped_Superclass Create new Mapped Superclass].

+

+

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&amp;drop the relation to the entity:

+

+

[[Image:OneToOneUnidirectional.jpg]]

+

+

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. [http://wiki.eclipse.org/Embeddables_and_Mapped_Superclasses_in_JPA_Diagram_Editor Here] can be found a detailed description how the embeddables and mapped superclass shall look like.

+

+

=== Create new Embeddable ===

+

+

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 [http://wiki.eclipse.org/JPA_Diagram_Editor_Project_Tutorial#Open_JPA_Diagram_Editor Open JPA Diagram Editor].

+

+

From the right site of the editor, the so called Palette section, select '''''Embeddable''''' and drag&amp;drop it to the diagram. A new embeddable class org.persistence.Embeddable1 without any attributes should be created and shown in the diagram:

+

+

[[Image:CreateEmbeddable.jpg]]

+

+

=== Pin an Embeddable to an 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 [http://wiki.eclipse.org/JPA_Diagram_Editor_Project_Tutorial#Open_JPA_Diagram_Editor Open JPA Diagram Editor].

+

+

In the JPA Diagram Editor create one entity and one embeddable. Since JPA 2.0 the entity can have either a reference to a single instance of the embeddable or to a collection of instances of that embeddable:

+

+

* To embed a single instance of the previously created embeddable, from the right site of the editor, the so called Palette, select '''Embed Single Object'''. Select the entity and drag&amp;drop the connection to the embeddable:

+

+

[[Image:EmbedSingleObject.jpg]]

+

+

A connection is created, and a new attribute is added under the '''''Other Attributes''''' section of the entity.

+

+

* To embed a collection of instances of the previously created embeddable, from the right site of the editor, the so called Palette, select '''Embed Collection of Objects'''. Select the entity and drag&amp;drop the connection to the embeddable:

+

+

[[Image:EmbedCollectionOfObjects.jpg]]

+

+

A connection is created, and a new attribute is added under the '''''Other Attributes''''' section of the entity.

+

+

'''''Note:''''' Instead of entity, the embeddable could be embedded into another embeddable.

+

+

=== Create Relations between Embeddable and Entity ===

+

+

JPA Editor Diagram support all kinds of relations from an embeddable to entity, but not vice versa: One-to-One unidirectional and bidirectional, One-to-Many unidirectinal, Many-to-One unidirectional and bidirectional, Many-to-Many unidirectional and bidirectional.

+

+

In the Eclipse IDE create new JPA 2.0 project. Open its diagram editor and create two entities and one embeddable. For more information how to create new entity and embeddable follow the steps described in the previous sections [http://wiki.eclipse.org/JPA_Diagram_Editor_Project_Tutorial#Create_new_Entity Create new Entity] and [http://wiki.eclipse.org/index.php?title=JPA_Diagram_Editor_Project_Tutorial#Create_new_Embeddable Create new Embeddable].

+

+

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 embeddable that will be owner of the relationship and drag&amp;drop the relation to the second entity:

+

+

[[Image:OneToManyUnidirectionalWithEmb.jpg]]

+

+

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

+

+

'''''Note:''''' To be able to create any type kind of relationship, the embeddable must be pinned to an entity.

+

+

'''''Note:''''' In case of bidirectional relationship, the embeddable must be pinned to exactly one entity.

+

+

'''''Note:''''' In case an entity has a reference to a collection of instances of an embeddable, the only two possible kind of relationships are '''One-to-one''' and '''Many-to-one'''.

+

+

'''Note:''' Because it is hard to remember, which relationships are allowed and which not, in Eclipse Kepler, the elements in the JPA Diagram Editor, that couldn't be involved in the concrete relation, will be marked as disabled and will be colored gray.

+

+

=== Create Is-A Relationship between Mapped Superclass and Entity ===

+

+

In the Eclipse IDE create new JPA 2.0 project. Open its diagram editor and create one entity and one mapped superclass. For more information how to create new entity and mapped superclass follow the steps described in the previous sections [http://wiki.eclipse.org/JPA_Diagram_Editor_Project_Tutorial#Create_new_Entity Create new Entity] and [http://wiki.eclipse.org/index.php?title=JPA_Diagram_Editor_Project_Tutorial#Create_new_Mapped_Superclass Create new Mapped Superclass].

+

+

From the right site of the editor, the so called Palette section, select '''Inherit Persistent Type'''. Select the mapped superclass and drag&amp;drop the connection to the entity:

+

+

[[Image:InheritByMappedSuperclass.jpg]]

+

+

'''Note:''' Such an "Is-A" relationship can be created between two entities.

+

+

'''Note:''' Such an "Is-A" relationship can be deleted by selecting the connection and pressing either the '''''Delete''''' button or using the '''''Delete''''' context menu.

+

+

=== Using Derived Identifiers ===

+

+

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 sections [http://wiki.eclipse.org/JPA_Diagram_Editor_Project_Tutorial#Create_new_Entity Create new Entity].

+

+

From the rifght site of the editor, the so called Palette, select '''One-to-One''' unidirectional feature, under '''''Derived Identifiers''''' section. Click on the first entity (the dependent entity) and drag&amp;drop the connection to the second entity (the parent entity). Following some of the rules, described in the wiki [http://wiki.eclipse.org/Editing_Derived_Ids_in_JPA_Diagram_Editor Editing Derived Identifiers in JPA Diagram Editor], a new one-to-one unidirectional relationship will be created, in which the owner attribute will be mapped as primary key:

+

+

[[Image:SimpleOneToOneDerivedId.jpg‎]]

+

+

'''''Note:''''' When the connection is deleted, if the dependent entity has a composite primary key, the helper attribute, that is added during creation of the relation, is deleted too, if it is not used by any other entity.

== Additional Information ==

== Additional Information ==

For more detailed information about the usage of the JPA Editor watch the [http://www.youtube.com/watch?v=xZf6pOHX178 JPA Diagram Editor Demo].

For more detailed information about the usage of the JPA Editor watch the [http://www.youtube.com/watch?v=xZf6pOHX178 JPA Diagram Editor Demo].

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 one entity and one mapped superclass. For more information how to create new entity and mapped superclass follow the steps described in the previous sections Create new Entity and Create new Mapped Superclass.

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. Here can be found a detailed description how the embeddables and mapped superclass shall look like.

Create new Embeddable

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 Embeddable and drag&drop it to the diagram. A new embeddable class org.persistence.Embeddable1 without any attributes should be created and shown in the diagram:

Pin an Embeddable to an 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.

In the JPA Diagram Editor create one entity and one embeddable. Since JPA 2.0 the entity can have either a reference to a single instance of the embeddable or to a collection of instances of that embeddable:

To embed a single instance of the previously created embeddable, from the right site of the editor, the so called Palette, select Embed Single Object. Select the entity and drag&drop the connection to the embeddable:

A connection is created, and a new attribute is added under the Other Attributes section of the entity.

To embed a collection of instances of the previously created embeddable, from the right site of the editor, the so called Palette, select Embed Collection of Objects. Select the entity and drag&drop the connection to the embeddable:

A connection is created, and a new attribute is added under the Other Attributes section of the entity.

Note: Instead of entity, the embeddable could be embedded into another embeddable.

Create Relations between Embeddable and Entity

JPA Editor Diagram support all kinds of relations from an embeddable to entity, but not vice versa: One-to-One unidirectional and bidirectional, One-to-Many unidirectinal, Many-to-One unidirectional and bidirectional, Many-to-Many unidirectional and bidirectional.

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

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

Note: To be able to create any type kind of relationship, the embeddable must be pinned to an entity.

Note: In case of bidirectional relationship, the embeddable must be pinned to exactly one entity.

Note: In case an entity has a reference to a collection of instances of an embeddable, the only two possible kind of relationships are One-to-one and Many-to-one.

Note: Because it is hard to remember, which relationships are allowed and which not, in Eclipse Kepler, the elements in the JPA Diagram Editor, that couldn't be involved in the concrete relation, will be marked as disabled and will be colored gray.

Create Is-A Relationship between Mapped Superclass and Entity

In the Eclipse IDE create new JPA 2.0 project. Open its diagram editor and create one entity and one mapped superclass. For more information how to create new entity and mapped superclass follow the steps described in the previous sections Create new Entity and Create new Mapped Superclass.

From the right site of the editor, the so called Palette section, select Inherit Persistent Type. Select the mapped superclass and drag&drop the connection to the entity:

Note: Such an "Is-A" relationship can be created between two entities.

Note: Such an "Is-A" relationship can be deleted by selecting the connection and pressing either the Delete button or using the Delete context menu.

Using Derived Identifiers

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 sections Create new Entity.

From the rifght site of the editor, the so called Palette, select One-to-One unidirectional feature, under Derived Identifiers section. Click on the first entity (the dependent entity) and drag&drop the connection to the second entity (the parent entity). Following some of the rules, described in the wiki Editing Derived Identifiers in JPA Diagram Editor, a new one-to-one unidirectional relationship will be created, in which the owner attribute will be mapped as primary key:

Note: When the connection is deleted, if the dependent entity has a composite primary key, the helper attribute, that is added during creation of the relation, is deleted too, if it is not used by any other entity.