Step 2: Define a JPA Entity Class
To store objects in an ObjectDB database using JPA we need to define an entity class:
- Open the [New Java Class] dialog box, e.g. by right clicking the project node
(in the [Projects] window) and selecting New > Java Class... - Enter Guest as the class name - use exactly that case sensitive class name.
- Enter guest as the package name - use exactly that case sensitive package name.
- Click Finish to create the new class.
Use copy and paste to replace the new source file content with the following code:
package guest; import java.io.Serializable; import java.sql.Date; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; @Entity public class Guest implements Serializable { private static final long serialVersionUID = 1L; // Persistent Fields: @Id @GeneratedValue Long id; private String name; private Date signingDate; // Constructors: public Guest() { } public Guest(String name) { this.name = name; this.signingDate = new Date(System.currentTimeMillis()); } // String Representation: @Override public String toString() { return name + " (signed on " + signingDate + ")"; } }
The new class should represent Guest
objects in the database. Besides the @Entityjavax.persistence.Entity (JPA Annotation)Specifies that the class is an entity. annotation and the id
field (and its annotations) - the Guest
class is an ordinary Java class.
The warning that NetBeans displays on the Guest
class indicates that a persistence unit definition in an XML file is missing. This is discussed in the ObjectDB Manual. But nevertheless, this class is a valid ObjectDB entity class, despite the warning.
The next step is adding a context listener class that will manage a JPA's EntityManagerFactory
representing the ObjectDB database.