为了账号安全,请及时绑定邮箱和手机立即绑定

spring boot jpa 无法自动生成表

为啥 create 还不会自动生成表。。实体类也写了

正在回答

20 回答

估计实体类的id类型问题,使用了@GeneratedValue自增的注解,id就需要是int类型


1 回复 有任何疑惑可以回复我~
#1

芝士就是力量7

正解。
2017-10-07 回复 有任何疑惑可以回复我~

同样的问题,也是建不了表

1 回复 有任何疑惑可以回复我~

我也是创建不了表

1 回复 有任何疑惑可以回复我~
#1

慕函数9598911

好久的贴都给我翻到......没报错的话,看看你的entity路径,试试和楼主DemoAppliaction.java同个包,如果不同包,entity包命名为启动文件包的子包,@SpringBootApplication会扫描所在包与子包
2017-08-14 回复 有任何疑惑可以回复我~
#2

精慕门0171196 回复 慕函数9598911

确实,问题解决了。如果就是不在一个包名下,有解决方案吗?
2017-09-03 回复 有任何疑惑可以回复我~
#3

大大叶5529 回复 精慕门0171196

那就扫描包吧,@ComponentScan(basePackages={"com.ddy.EatFood.Model.Entity"})
2017-10-08 回复 有任何疑惑可以回复我~
#4

少壮不努力_长大抢小米 回复 慕函数9598911

谢了大佬
2018-02-05 回复 有任何疑惑可以回复我~
#5

慕容8487075 回复 大大叶5529

我用了componentScan扫描包,也不能自动建表 怎么办
2019-01-07 回复 有任何疑惑可以回复我~
查看2条回复

我也是,各种姿势都试过了。去stack 上面看看。

0 回复 有任何疑惑可以回复我~

楼主问题解决没?我的也是不能和自动生成表,咋解决?

0 回复 有任何疑惑可以回复我~

mysql重新启动,即可正常。你可以试试直接在MySQL的dbgirl下直接创建一个girl表,会提示已经存在。

1 回复 有任何疑惑可以回复我~

我的也是一样。用maven编译一下就能生成了。我的是这个情况

0 回复 有任何疑惑可以回复我~

.pom

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.ice</groupId>
  <artifactId>sbTest</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>sbTest Maven Webapp</name>
  <url>http://maven.apache.org</url>

  <!-- 直接继承spring-boot-starter-parent成为spring-boot项目 -->
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.3.RELEASE</version>
    <relativePath/>
  </parent>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
    <!--<hibernate.version>5.1.0.Final</hibernate.version>-->
  </properties>
  <dependencies>
    <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.springframework.boot</groupId>
      <artifactId>spring-boot-configuration-processor</artifactId>
      <optional>true</optional>
    </dependency>


    <!--用spring官方的thymeleaf模板渲染,src/main/resources/templates/-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>

    <!--spring-data-jpa做数据库连接-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>

    <!--mysql-->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>
</project>

实体类User

package entity;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

/**
 * Created by ice on 2017/1/7.
 */
@Entity
public class User {

    @Id
    @GeneratedValue
    private Long id;

    private String name;

    private String password;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

.yml文件

server:
  port: 8888
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/dbgril
    username: root
    password: qwer123
  jpa:
    hibernate:
      ddl-auto: create
    show-sql: true

入口

package example;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;

/**
 * Created by ice on 2017/1/6.
 */
@SpringBootApplication
@RestController//直接return返回html代码
//@Controller
public class DemoAppliaction {
    public static void main(String[] args) {
        SpringApplication.run(DemoAppliaction.class,args);
    }


    @RequestMapping("/say")
    public String hello(@RequestParam(value = "name",required = false,defaultValue = "不知道是谁") String name, Model model){
//        model.addAttribute("name",name);
//        return "hello";
        return name;
    }


}


0 回复 有任何疑惑可以回复我~
#1

混迹0

user实体的package不对,应该是example.entity
2017-10-23 回复 有任何疑惑可以回复我~

把全部代码打包发上来看看

1 回复 有任何疑惑可以回复我~
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/dbgril
    username: root
    password: qwer123
  jpa:
    hibernate:
      ddl-auto: create
    show-sql: true
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

/**
 * Created by ice on 2017/1/7.
 */
@Entity
public class User {

    @Id
    @GeneratedValue
    private Long id;

数据库也建好了,启动也不报错,就是不会自动生成表为啥呢。。

0 回复 有任何疑惑可以回复我~
首页上一页12下一页尾页

举报

0/150
提交
取消
2小时学会Spring Boot
  • 参与学习       151586    人
  • 解答问题       1079    个

Spring Boot入门视频教程,你将学会使用Spring Boot快速构建应用程序

进入课程

spring boot jpa 无法自动生成表

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信