Le nom de classe de l'entité est transformé en nom de table SQL avec des underscores

j'ai l'entité suivante:

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

malgré l'annotation du tableau, je reçois java.sql.SQLException: Invalid object name 'email_template' . Comment puis-je empêcher qu'une classe d'entity comme EmailTemplate soit transformée en email_template table name?

Edit:

j'utilise la botte de printemps: démarrer JPA. De mon build.gradle fichier,

compile("org.springframework.boot:spring-boot-starter-data-jpa")
28
demandé sur Jens Schauder 2015-03-17 00:52:24

5 réponses

Printemps utilise par défaut org.springframework.boot.orm.jpa.SpringNamingStrategy qui divise chameau cas des noms avec des caractères de soulignement. Essayez de définir spring.jpa.hibernate.naming-strategy=org.hibernate.cfg.EJB3NamingStrategy dans application.properties . Découvrez ce et ce pour plus d'info.

32
répondu Predrag Maric 2017-05-23 12:10:29

pour hibernate v5 :

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

24
répondu Sllouyssgort 2017-02-14 18:02:48

Utiliser

spring.jpa.hibernate.naming-strategy=org.hibernate.cfg.DefaultNamingStrategy
1
répondu Willie Wheeler 2015-11-10 20:55:32

résolu.

nom D'objet non valide: Springboot avec JPA (SQL server)

en application.yaml/propriétés de préciser les

"151900920 de" printemps".jpa.hiberner.nommer.implicite-stratégie printemps.jpa.hiberner.nommer.stratégie physique

jpa: show-sql: faux hiberner: ddl-auto: none # par défaut à "none" LORSQU'il N'est pas en mode intégré nommer: implicite-stratégie: org.hiberner.démarrage.modèle.nommer.ImplicitNamingStrategyLegacyJpaImpl physique-stratégie: org.hiberner.démarrage.modèle.nommer.La stratégie de la nomenclature physique et de la nomenclature 151910920"

0
répondu user8106134 2018-07-11 17:46:16
org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute statement; SQL [n/a];     
nested exception is org.hibernate.exception.SQLGrammarException: could not execute statement

les deux sont obligatoires:

implicit-strategy 
physical-strategy
0
répondu user8106134 2018-07-12 05:00:22