Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring启动休眠表不存在_Java_Mysql_Spring_Spring Boot_Hibernate - Fatal编程技术网

Java Spring启动休眠表不存在

Java Spring启动休眠表不存在,java,mysql,spring,spring-boot,hibernate,Java,Mysql,Spring,Spring Boot,Hibernate,我正在用MySQL数据库创建一个Spring启动应用程序。 我已经创建了一个实体用户(当我启动应用程序时,通常有一个名为User的表?) 我还有一个用户存储库 import org.springframework.data.repository.CrudRepository; public interface UserRepository extends CrudRepository<User, Integer>{ } 尝试从数据库获取数据时出错: java.sql.SQLS

我正在用MySQL数据库创建一个Spring启动应用程序。 我已经创建了一个实体用户(当我启动应用程序时,通常有一个名为User的表?)

我还有一个用户存储库


import org.springframework.data.repository.CrudRepository;

public interface UserRepository extends CrudRepository<User, Integer>{

}
尝试从数据库获取数据时出错: java.sql.SQLSyntaxErrorException:表“cashManager21.User”不存在


有人能帮我解决这个错误吗?

有两种方法可以解决这个问题:——(哈哈,我只知道这两种,可能还有更多)

1st:--

手动创建数据库(cashManager21)。 在mysql命令提示符中执行以下语句

CREATE DATABASE cashManager21;
第二-- 更改数据库url,如下所示

spring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:3306/cashManager21?createDatabaseIfNotExist=true
在类级别上用@Table注释实体类:--

我总是选择第二种方法

概述:(供参考)


数据库和表名在Windows中不区分大小写,在大多数Unix中都区分大小写。

User
是MySQL中的保留关键字。您需要使用其他表名或在hibernate中为表名启用转义字符。或者将注释@table(name=“\”user\”)添加到实体中。也许看看Bootify.io,你可以用实体初始化基本的Spring Boot应用程序。这可能只是一个输入错误?->春天。jba。。。应该是spring.jpa…事实上,我做了你的第二个答案,但它不起作用,我仍然有这个问题,但CashManager21.user不存在。。。我的数据库已经存在,但是我的表没有添加@table吗?在你的实体中,你可以在这里发布完整的日志跟踪吗?你在用docker吗?
CREATE DATABASE cashManager21;
spring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:3306/cashManager21?createDatabaseIfNotExist=true
@Entity
@Table(name="user")
public class User {       // in log if you see it is searching for (User) not "user" table thats why it is throwing table not found.

blah---
}