2016-06-20 11 views
2

Ich versuche Code ersten Ansatz zum Erstellen von Datenbank mit Spring Boot und Hibernate.Hibernate erstellt keine Datenbank in PostgreSql Mit Spring Boot

Aber ich kann das noch nicht tun.

Bitte schlagen Sie vor, wie ich das lösen kann.

Hier ist mein POM

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
<modelVersion>4.0.0</modelVersion> 

<groupId>com.inventory</groupId> 
<artifactId>publisherinventory</artifactId> 
<version>0.0.1-SNAPSHOT</version> 
<packaging>jar</packaging> 

<name>PublisherInventory</name> 
<description>project for publishers inventory</description> 

<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.3.5.RELEASE</version> 
    <relativePath/> <!-- lookup parent from repository --> 
</parent> 

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <java.version>1.8</java.version> 
</properties> 

<dependencies> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-security</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-thymeleaf</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-test</artifactId> 
     <scope>test</scope> 
    </dependency> 

    <dependency> 
     <groupId>org.postgresql</groupId> 
     <artifactId>postgresql</artifactId> 
     <version>9.4.1208</version> 
    </dependency> 

    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>5.2.0.Final</version> 
    </dependency> 

    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-entitymanager</artifactId> 
     <version>5.1.0.Final</version> 
    </dependency> 

    <dependency> 
     <groupId>org.hibernate.javax.persistence</groupId> 
     <artifactId>hibernate-jpa-2.1-api</artifactId> 
     <version>1.0.0.Final</version> 
    </dependency> 

</dependencies> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-maven-plugin</artifactId> 
     </plugin> 
    </plugins> 
</build> 

<repositories> 
    <repository> 
     <id>spring-releases</id> 
     <url>https://repo.spring.io/libs-release</url> 
    </repository> 
</repositories> 

<pluginRepositories> 
    <pluginRepository> 
     <id>spring-releases</id> 
     <url>https://repo.spring.io/libs-release</url> 
    </pluginRepository> 
</pluginRepositories> 

ist hier application.properties

spring.datasource.driverClassName = org.postgresql.Driver 
spring.datasource.url= jdbc:postgresql://localhost:5432/BookInventory 
spring.datasource.username=postgres 
spring.datasource.password=root 
spring.jpa.database=POSTGRESQL 
spring.jpa.show-sql=true 
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQL94Dialect 
spring.jpa.hibernate.ddl-auto=create 

Hier ist meine Enity

package com.inventory.model; 

import javax.persistence.*; 

@Entity 
public class BookGroup{ 

@Column(name="groupName") 
public String getGroupName() { 
    return groupName; 
} 

public void setGroupName(String groupName) { 
    this.groupName = groupName; 
} 

@Id 
@Column(name="groupId", unique = true) 
@GeneratedValue 
public int getGroupId() { 
    return groupId; 
} 

private String groupName; 
private int groupId; 
} 

ist hier mein Controller

package com.inventory.controllers; 

import com.inventory.model.BookGroup; 
import org.springframework.stereotype.Controller; 
import org.springframework.ui.Model; 
import org.springframework.web.bind.annotation.ModelAttribute; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 
import javax.validation.Valid; 


@Controller 
public class BookGroupController { 

BookGroup aBookGroup = new BookGroup(); 

@RequestMapping(value = "/bookGroupEntry", method = RequestMethod.GET) 
public String bookGroupEntryForm(Model model){ 
    model.addAttribute("bookGroup",aBookGroup); // "bookGroup" ->BookGroup (Class Name) 
    return "bookGroupEntry"; 
} 

@RequestMapping(value = "/showBookGroups", method = RequestMethod.POST) 
public String bookGroupSubmit(@ModelAttribute @Valid BookGroup aBookGroup, Model model){ 

    return "showBookGroups"; 
} 

} 
+1

http://stackoverflow.com/questions/26881739/unable-to-get-spring-boot-to-automatic-create-database-schema Vielleicht kein genaues Duplikat, aber Sie sollten lies es und dreh jeden Stein um. –

+0

@Tareq haben Sie den gleichen Fehler bekommen? Ausnahme? – cralfaro

+0

Für den Anfang mischen Sie Hibernate 5.1 und 5.2 Gläser. Und Hibernate 5.2 wird von der von Ihnen verwendeten Version von Spring Boot und Spring nicht unterstützt. –

Antwort

Verwandte Themen