1. введение
В этом коротком уроке мы узнаем, как задать имена таблиц SQL с помощью JPA.
Мы рассмотрим, как JPA генерирует имена по умолчанию и как предоставить пользовательские имена.
2. Имена таблиц по умолчанию
Создание имени таблицы по умолчанию JPA зависит от ее реализации.
Например, в режиме гибернации имя таблицы по умолчанию-это имя класса с заглавной буквой. Это определяется с помощью ImplicitNamingStrategy контракта.
Но мы можем изменить это поведение, реализовав интерфейс PhysicalNamingStrategy .
3. Использование @Table
Самый простой способ задать пользовательское имя таблицы SQL-это аннотировать сущность с помощью @ javax.persistence.Таблица и определите параметр ее имени:
@Entity @Table(name = "ARTICLES") public class Article { // ... }
Мы также можем сохранить имя таблицы в статической конечной переменной:
@Entity @Table(name = Article.TABLE_NAME) public class Article { public static final String TABLE_NAME= "ARTICLES"; // ... }
4. Перезапись имени таблицы в запросах JPQL
По умолчанию в запросах JPQL мы используем имя класса сущностей:
select * from Article
Но мы можем изменить его, определив параметр name в @javax.persistence.Сущность аннотация:
@Entity(name = "MyArticle")
Затем мы изменим наш запрос JPQL на:
select * from MyArticle
5. Заключение
В этой статье мы узнали, как JPA генерирует имена таблиц по умолчанию и как задать имена таблиц SQL с помощью JPA.
Как всегда, весь исходный код доступен на GitHub .