title: What is the exact meaning of the JPA @Entity annotation?
body: <p>I am studying JPA in Spring application and I have some doubts related to the <strong>@Entity</strong> annotation.</p>
  
  <p>So I have a model class like this:</p>
  
  <pre><code>@Entity
  @Table(name= “T_CUSTOMER”)
  public class Customer {
  
      @Id
      @Column(name=“cust_id”)
      private Long id;
  
      @Column(name=“first_name”)
      private String firstName;
  
      @Transient
      private User currentUser;
  
      ...........................
      ...........................
      ...........................
  }
  </code></pre>
  
  <p>Ok, I know that the <strong>@Entity</strong> annotation is on the class level and it means that the fields of the object that are instances of this class are to be mapped to the field of the <strong>T_CUSTOMER</strong> database table.</p>
  
  <p>But why in JPA it is mandatory to use <strong>@Entity</strong> annotation and I cannot only use the <strong>@Table</strong> annotation to map a model object to a specific database table? It have some other meaning\behavior that actually I am missing?</p>
  
  <p>What am I missing? What is the exact meaning of the <strong>@Entity</strong> annotation? </p>