我是靠谱客的博主 无私花卷,这篇文章主要介绍JPA自动建表找不到schema/Schema not found,现在分享给大家,希望可以做个参考。

保存在文件中

本来用的是保存在文件中的h2数据库配置:

复制代码
1
2
3
4
5
6
#保存在文件中的 #spring.datasource.url=jdbc:h2:~/test;AUTO_SERVER=TRUE; #spring.datasource.driverClassName=org.h2.Driver #spring.datasource.username=sa #spring.datasource.password=sa

所以可以手动建一个schema,因为下次重启不会删除这些结构。

mem的配置

老师要求的,每次重启都要新建表,删除所有数据:

复制代码
1
2
3
4
5
6
#内存中每次刷新的 把schema删掉了 spring.datasource.url=jdbc:h2:mem:testdb spring.datasource.username=sa spring.datasource.password=sa spring.datasource.driverClassName=org.h2.Driver

所以手动创建schema会失效。而在sql语句里写的话,也会因为JPA会先创建表,再运行sql语句,所以报错:找不到schema。

网上找了很久都没有相关配置,所以只能把dao层和sql文件,和entity文件里的schema配置删除了。直接建表,之后就对了。
在这里插入图片描述

有一个快捷一点的方法,就是选中 MOBILE. 这段代码 ,然后ctrl+f,在这里插入图片描述
按这个键可以选中此文件里所有与这个匹配的,然后一键删除,比较方便。

解决方案:

今天碰巧找到了,原来不仅有数据的sql文件,还有建立结构的sql文件:

复制代码
1
2
3
# 指定生成数据库的schema文件位置 spring.datasource.schema=classpath:schema.sql

最后

以上就是无私花卷最近收集整理的关于JPA自动建表找不到schema/Schema not found的全部内容,更多相关JPA自动建表找不到schema/Schema内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(74)

评论列表共有 0 条评论

立即
投稿
返回
顶部