2017-02-06 4 views
0

Ich habe versucht, alle Alternativen in application.properties (siehe unten) Ich habe bisher gefunden, aber meine Anwendung erstellt immer noch die Tabelle mit "_" statt Kamelfall, als ich mich aufmachte.Spring Boot mit Hibernate, kann ich nicht Tabellenname mit Unterstrich

Jeder Vorschlag wird sehr geschätzt.

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

output 
DefaultNamingStrategy cannot be cast to org.hibernate.boot.model.naming.ImplicitNamingStrategy 

2 
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.cfg.DefaultNamingStrategy 
output 
org.hibernate.cfg.DefaultNamingStrategy cannot be cast to org.hibernate.boot.model.naming.PhysicalNamingStrategy 

3 
spring.jpa.hibernate.naming.strategy=org.hibernate.cfg.DefaultNamingStrategy 
output 
org.hibernate.SQL      : drop table tipo_dominio if exists 
NOTE: no error but I didn't get the table name without "_" 

4 
spring.jpa.hibernate.naming.strategy=org.hibernate.cfg.EJB3NamingStrategy 
output 
EJB3NamingStrategy cannot be cast to org.hibernate.boot.model.naming.PhysicalNamingStrategy 

meine Einheit

import java.io.Serializable; 
import java.util.Date; 

import javax.persistence.Column; 
import javax.persistence.Entity; 
import javax.persistence.GeneratedValue; 
import javax.persistence.Id; 
import javax.persistence.Table; 
import javax.persistence.Temporal; 
import javax.persistence.TemporalType; 




@Entity(name="TipoDominio") 
@Table(name="TipoDominio") 
public class TipoDominio implements Serializable { 

    private static final long serialVersionUID = 1L; 

    @Id 
    @GeneratedValue 
    private Long id; 

pom

<properties> 
     <main.basedir>${basedir}/../..</main.basedir> 

     <maven.compiler.source>1.8</maven.compiler.source> 
     <maven.compiler.target>1.8</maven.compiler.target> 
    </properties> 

    <dependencies> 


     <!-- Compile --> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-data-jpa</artifactId> 
      <version>1.5.1.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
      <version>1.5.1.RELEASE</version> 
     </dependency> 
     <!-- Runtime --> 
     <dependency> 
      <groupId>com.h2database</groupId> 
      <artifactId>h2</artifactId> 
      <scope>runtime</scope> 
      <version>1.4.193</version> 
     </dependency> 
     <!-- Test --> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-test</artifactId> 
      <version>1.5.1.RELEASE</version> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

Haupt

@SpringBootApplication 
public class App { 
    public static void main(String[] args) { 
     SpringApplication.run(App.class, args); 
    } 
} 

*** Edited Ich versuchte

@SpringBootApplication(exclude={HibernateJpaAutoConfiguration.class 

ohne Erfolg als auch

Antwort

0

es wahrscheinlich tut dies, weil sie Tabelle erstellt ohne Anführungszeichen, die für h2 Groß- und Kleinschreibung Kennung bedeutet. Benötigen Sie wirklich eine Unterscheidung zwischen Groß- und Kleinschreibung?

3

Mit SpringBoot 1.5.x ist die Hibernate-Version "5.x". Dies bedeutet, dass die Benennungsstrategieklassen für Tabellen ohne Unterstriche geändert wurden. Dies sollte für das funktionieren, was Sie haben.

spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl 

Beachten Sie, dass der Name der Konfigurationseigenschaft sowie die Klasse geändert wurden.

+0

Es funktioniert! Ich habe 'spring.jpa.database-platform = org.hibernate.dialect.PostgreSQLDialect',' spring.jpa.hibernate.naming-strategie = org.hibernate.cfg.EJB3NamingStrategy' ausprobiert. Keine von ihnen funktioniert! – Ninja

Verwandte Themen