Я изучаю JPA в приложении Spring и у меня есть некоторые сомнения, связанные с аннотацией @Entity.
Итак, у меня есть такой класс моделей:
@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;
...........................
...........................
...........................
}
Хорошо, я знаю, что аннотация @Entity находится на уровне класса, и это означает, что поля объекта, которые являются экземплярами этого класса, должны быть сопоставлены с полем T_CUSTOMER таблица базы данных.
Но почему в JPA обязательно использовать аннотацию @Entity, а я не могу использовать аннотацию @Table только для сопоставления объекта модели с конкретной таблицей базы данных? У него есть какое-то другое значение\поведение, которого я на самом деле скучаю?
Чего мне не хватает? Каков точный смысл аннотации @Entity?