# Creating a Java persistent entity with persistent fields

This quick start shows how to create a new persistent Java entity. We will create an entity to associate with a database table. You will also need to add the ADDRESS table to your database.

1. Select the JPA project in the Navigator or Package Explorer and then click New > Other. The Select a Wizard dialog appears.

2. Select Entity and then click Next. The Entity Class page appears.

3. Enter the package name (such as `quickstart.demo.model`), the class name (such as `Address`) and then click Next. The Entity Properties page appears, which enables you to define the persistence fields, which you will map to the columns of a database table.

4. Use the Entity Fields dialog (invoked by clicking Add) to add persistence fields to the Address class:

       private Long id;
       private String city;
       private String country;
       private String stateOrProvince;
       private String postalCode;
       private String street;

   Note: You will also need to add the following columns to the ADDRESS database table:
       NUMBER(10,0) ADDRESS_ID (primary key)
       VARCHAR2(80) PROVINCE
       VARCHAR2(80) COUNTRY
       VARCHAR2(20) P_CODE
       VARCHAR2(80) STREET
       VARCHAR2(80) CITY

5. Click Finish. With the Create JPA Entity completed, Eclipse displays the Address entity in the JPA Structure view.

   Address.java includes the `@Entity` annotation, the persistence fields, as well as `getter` and `setter` methods for each of the fields.

Address Entity in Address.java

Eclipse also displays the Address entity in the JPA Structure view:

Address Entity in the JPA Structure View

1. Select the Address class in the Package Explorer view.

2. In the JPA Details view, notice that Dali has automatically associated the ADDRESS database table with the entity because they are named identically.

   Note: Depending on your database connection type, you may need to specify the Schema.

   JPA Details View for Address Entity

Tip: After associating the entity with the database table, you should update the `persistence.xml` file to include this JPA entity. Right-click the `persistence.xml` file in the Package Explorer and select JPA Tools > Synchronize Classes. Dali adds the following to the `persistence.xml` file: `<class>quickstart.demo.model.Address</class>`

Now we are ready to map each fields in the Address class to a column in the database table.

1. Select the id field in the JPA Details view.

2. Right click id and then select Map As > id.

3. In the JPA Details view, select ADDRESS_ID in the Name field:

   JPA Details View for the addressId Field

   Eclipse adds the following annotations to the Address entity:

       @Id
       @Column(name="ADDRESS_ID")

4. Map each of the following fields (as Basic mappings) to the appropriate database column:

   Field | Map As | Database Column
   --- | --- | ---
   city | Basic | CITY
   country | Basic | COUNTRY
   postalCode | Basic | P_CODE
   provinceOrState | Basic | PROVINCE
   street | Basic | STREET

Dali automatically maps some fields to the correct database column (such as the city field to the City column) if the names are identical.