2016-06-20 16 views
2

Я пытаюсь использовать первый подход кода для создания базы данных с использованием Spring Boot и Hibernate.Hibernate не создает базу данных в PostgreSql Использование Spring boot

Но, я еще не в состоянии это сделать.

Просьба предложить, как я могу решить эту проблему.

Вот мой 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> 

Вот 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 

Вот мой 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; 
} 

Вот мой контроллер

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-automatically-create-database-schema Возможно, это не точный дубликат, но вы должны прочитайте его и переверните каждый камень. –

+0

@Tareq вы получили такую ​​же ошибку? исключение? – cralfaro

+0

Для начала вы смешиваете спящие 5.1 и 5.2 баночки. И hibernate 5.2 не поддерживается версией Spring Boot и Spring, которую вы используете. –

ответ

Смежные вопросы