mysql 自动创建表失败_mysql – 在Spring JPA中自动创建表失败

我有

Spring JPA,Hibernate,

MySQL的问题.

我有一个实体(Nom.java)和存储库(公共接口NomRepository扩展JpaRepository).它们被创建并注入很好.

问题在于,当我试图通过存储库的save方法保存记录时,spring抱怨“Table”不存在“.

实际上我没有在MySQL中看到这个表.你已经尝试了不同的hibernate.hbm2ddl.auto值,但它没有帮助.

我使用无XML配置BTW.

这是配置文件:

package ru.interosite.awp.config;

import java.util.Properties;

import javax.sql.DataSource;

import org.springframework.boot.autoconfigure.EnableAutoConfiguration;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.ComponentScan;

import org.springframework.context.annotation.Configuration;

import org.springframework.data.jpa.repository.config.EnableJpaRepositories;

import org.springframework.jdbc.datasource.DriverManagerDataSource;

import org.springframework.orm.jpa.JpaVendorAdapter;

import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;

import org.springframework.orm.jpa.vendor.Database;

import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;

@Configuration

@ComponentScan("ru.interosite.awp")

@EnableAutoConfiguration

public class AppConfiguration {

@Bean

public DataSource dataSource() {

DriverManagerDataSource dataSource = new DriverManagerDataSource();

dataSource.setDriverClassName("com.mysql.jdbc.Driver");

dataSource.setUrl("jdbc:mysql://localhost:3306/awp");

dataSource.setUsername("root");

dataSource.setPassword("password");

return dataSource;

}

@Bean

public LocalContainerEntityManagerFactoryBean entityManagerFactory(DataSource dataSource, JpaVendorAdapter jpaVendorAdapter) {

LocalContainerEntityManagerFactoryBean lef = new LocalContainerEntityManagerFactoryBean();

lef.setPersistenceUnitName("my_pu");

lef.setPackagesToScan("ru.interosite.awp.data");

lef.setDataSource(dataSource);

lef.setJpaVendorAdapter(jpaVendorAdapter);

lef.setJpaProperties(getJpaProperties());

return lef;

}

@Bean

public JpaVendorAdapter jpaVendorAdapter() {

HibernateJpaVendorAdapter jpaVendorAdapter = new HibernateJpaVendorAdapter();

jpaVendorAdapter.setDatabase(Database.MYSQL);

jpaVendorAdapter.setGenerateDdl(true);

jpaVendorAdapter.setShowSql(true);

jpaVendorAdapter.setDatabasePlatform("org.hibernate.dialect.MySQL5Dialect");

return jpaVendorAdapter;

}

private Properties getJpaProperties() {

return new Properties() {

{

setProperty("hibernate.hbm2ddl.auto", "update");

setProperty("hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect");

setProperty("hibernate.show_sql", "true");

setProperty("hibernate.format_sql", "true");

}

};

}

}

以下是我启动应用的方式:

package ru.interosite.awp;

import java.awt.Font;

import javax.swing.UIManager;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import org.springframework.boot.SpringApplication;

import org.springframework.context.ApplicationContext;

import ru.interosite.awp.config.AppConfiguration;

import ru.interosite.awp.gui.UIUtils;

public class Boot {

private static final Logger LOGGER = LoggerFactory.getLogger(Boot.class);

public static void main( String[] args )

{

UIUtils.setUIFont(new javax.swing.plaf.FontUIResource(Font.SANS_SERIF, Font.PLAIN, 16));

try {

String lafClassName = UIManager.getSystemLookAndFeelClassName();

UIManager.setLookAndFeel(lafClassName);

} catch (Exception e) {

LOGGER.debug(e.getMessage());

}

ApplicationContext ctx = SpringApplication.run(AppConfiguration.class, args);

((Runner)ctx.getBean("runner")).start();

}

}

这是我的pom.xml:

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

4.0.0

ru.interosite

AWP

1.0-SNAPSHOT

jar

AWP

http://maven.apache.org

UTF-8

UTF-8

ru.interosite.awp.Runner

org.springframework.boot

spring-boot-starter-parent

0.5.0.M4

org.springframework

spring-orm

org.springframework.data

spring-data-jpa

org.springframework

spring-tx

org.springframework.boot

spring-boot-starter-data-jpa

org.hibernate

hibernate-entitymanager

mysql

mysql-connector-java

5.1.26

org.mockito

mockito-all

1.9.5

maven-compiler-plugin

2.3.2

org.springframework.boot

spring-boot-maven-plugin

spring-snapshots

Spring Snapshots

http://repo.spring.io/libs-snapshot

true

spring-milestones

Spring Milestones

http://repo.spring.io/libs-milestone

false

org.jboss.repository.releases

JBoss Maven Release Repository

https://repository.jboss.org/nexus/content/repositories/releases

false

spring-snapshots

Spring Snapshots

http://repo.spring.io/libs-snapshot

true

spring-milestones

Spring Milestones

http://repo.spring.io/libs-milestone

false

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值