Ответ
Аннотация @Table в JPA (Jakarta Persistence) используется для связи сущности (Entity) с конкретной таблицей в базе данных. Она позволяет переопределить стандартное имя таблицы и задать дополнительные параметры.
Основные атрибуты аннотации @Table:
name: Имя таблицы в БД. Если не указано, используется имя класса сущности.schema: Имя схемы базы данных.catalog: Имя каталога базы данных.uniqueConstraints: Массив аннотаций@UniqueConstraintдля определения составных уникальных ограничений на уровне таблицы.
Пример использования:
@Entity
@Table(name = "user_accounts", schema = "app_data",
uniqueConstraints = @UniqueConstraint(columnNames = {"email", "username"}))
public class User {
@Id
private Long id;
private String email;
private String username;
}
Этот код создаст (или отобразится на) таблицу app_data.user_accounts с уникальным ключом по полям email и username.
Правило: Аннотацию @Table можно опустить, если имя таблицы в БД совпадает с именем класса сущности, а другие параметры (схема, каталог) не требуются.