Ответ
Entity (Сущность) в JPA — это легковесный Java-класс (POJO), отображаемый на таблицу в реляционной базе данных. Его экземпляры соответствуют строкам в этой таблице.
Основные требования:
- Аннотация
@Entity. - Поле с аннотацией
@Id, обозначающее первичный ключ. - Конструктор без аргументов (может быть
protected). - Класс не должен быть
final, а методы getter/setter —final(для проксирования).
Ключевые аннотации:
@Table— для указания имени таблицы.@Column— для маппинга поля на колонку.@GeneratedValue— для стратегии генерации ID.- Аннотации связей:
@OneToMany,@ManyToOne,@ManyToMany,@OneToOne.
Пример:
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false, length = 100)
private String name;
@Column(unique = true)
private String email;
// Конструктор без аргументов, геттеры, сеттеры
}
Почему это важно: Entity — это центральная концепция ORM в JPA, позволяющая работать с данными как с объектами, а не SQL-запросами.