I did some searching around to find an answer. I decided to post it anyway,
I looked up
docs.oracle.com before posting my question.
An entity is a lightweight persistence domain object. Typically, an
entity represents a table in a relational database, and each entity
instance corresponds to a row in that table. The primary programming
artifact of an entity is the entity class, although entities can use
helper classes.
An entity class must follow these 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 must 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
class’s methods. Clients must access the entity’s state through accessor or business methods.
Another interesting resource is this youtube video
TL;DR: @Entity annotation defines that a class can be mapped to a table.