解决在IDEA环境下SpringBoot+JPA启动不报错但无法根据实体类自动生成数据表的问题

下面例举各种可能性:
1、检查所有实体类的类名下面是不是有一条下划线
鼠标移上去看是不是提示

Persistent entity '实体类类名' should have primary key

如果是,请检查实体类的主键注解@Id的包是不是打成了

import org.springframework.data.annotation.Id;

是的话删除,修改为

import javax.persistence.Id

2、检查yml文件中是否配置jpa和数据库配置是否正确(MySQL8.0)
yml正确配置如下:

spring:
  datasource:
    username: 你的数据库用户名
    password: 你的数据库密码
    url: jdbc:mysql://localhost:3306/数据库名?useUnicode=true&&characterEncoding=utf8&&useSSL=false&&serverTimezone=GMT%2B8
    driver-class-name: com.mysql.cj.jdbc.Driver
  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true

3、XXXApplication必须在与实体类的父包中。
比如实体类User在com.xx.xxx.xxxx.user,那么XXXApplication必须在com.xx.xxx.XXXApplication。

4、检查每个实体类是否在类名上设置如下注释

@Entity	//对应此类生成数据库表
@Table(name = "t_user") //设置此类生成的数据库表的名字
public class User {}

5、检查各个实体类是否用MySQL关键字作为变量名。
有则更换为其他的变量名。

你可能感兴趣的:(SpringBoot,JPA)