Подтвердить что ты не робот

Имя класса Entity преобразуется в имя таблицы SQL с символами подчеркивания

У меня определено следующее сущность:

@Entity
@Table(name = "EmailTemplate")
public class EmailTemplate {

Несмотря на аннотацию таблицы, я получаю java.sql.SQLException: недопустимое имя объекта 'email_template'. Как я могу предотвратить преобразование класса сущности, такого как EmailTemplate, в имя таблицы email_template?

Edit:

Я использую Spring Boot: запустите JPA. Из файла build.gradle,

compile("org.springframework.boot:spring-boot-starter-data-jpa")
4b9b3361

Ответ 1

Spring по умолчанию использует org.springframework.boot.orm.jpa.SpringNamingStrategy, который разделяет имена случаев верблюда с подчеркиванием. Попробуйте установить spring.jpa.hibernate.naming-strategy=org.hibernate.cfg.EJB3NamingStrategy в application.properties. Ознакомьтесь с этим и для получения дополнительной информации.

Ответ 2

Для hibernate v5:

spring.jpa.hibernate.naming.physical-strategy=org.hibernate.‌​boot.model.naming.Ph‌​ysicalNamingStrategy‌​StandardImpl

Ответ 3

Использование

spring.jpa.hibernate.naming-strategy=org.hibernate.cfg.DefaultNamingStrategy