An entity is a domain object that represents a business entity, and correspondingly, a record in a database table. An entity class should satisfy the following requirements:
- The class must be annotated with the javax.persistence.Entity annotation.
- The class must have a public or protected no-argument constructor. The class may have other constructors.
- The class must not be declared final. No methods or persistent instance variables may be declared final.
- If an entity instance is passed by value as a detached object, such as through a session bean's remote business interface, the class must implement the Serializable interface.
- Entities may extend both entity and non-entity classes, and non-entity classes may extend entity classes.
- Persistent instance variables must be declared private, protected, or package-private and can be accessed directly only by the entity...