postgresql - 在 Spring Boot 2 的 postresql 连接上找不到表
问题描述
我正在尝试从一个非常基本的 SpringBootProject (用于培训目的)执行与本地 postgresql 数据库之间的基本连接。
# configure postgresql
spring.datasource.platform=postgres
spring.datasource.jdbc-url=jdbc:postgresql://localhost:5432/db
spring.datasource.username=postgres
spring.datasource.password=
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.database-platform = org.hibernate.dialect.PostgreSQL94Dialect
spring.jpa.hibernate.ddl-auto=none
到目前为止,我已经设法让它编译和运行......但是当我试图访问我的数据库时,我得到一个“找不到表“FILMS””错误(org.h2.jdbc.JdbcSQLException)。当我从 data.sql 插入数据时,我得到了插入的电影。但是没有这个初始化器,我无法从我的数据库中获取数据......
未找到表“电影”;SQL 语句:
从电影film0_中选择film0_.code作为code1_0_,film0_.date_prod作为date_pro2_0_,film0_.did作为did3_0_,film0_.kind作为kind4_0_,film0_.title作为title5_0_从电影film0_ [42102-197]
2018-07-26 12:24:18.151 错误 10376 --- [nio-9000-exec-1] oaccC[.[.[/].[dispatcherServlet]:Servlet.service() 用于 servlet [dispatcherServlet] path [] 抛出异常 [请求处理失败;嵌套异常是 org.springframework.dao.InvalidDataAccessResourceUsageException:无法准备语句;SQL [从电影film0_中选择film0_.code作为code1_0_,film0_.date_prod作为date_pro2_0_,film0_.did作为did3_0_,film0_.kind作为kind4_0_,film0_.title作为title5_0_];嵌套异常是 org.hibernate.exception.SQLGrammarException: could not prepare statement] 根本原因
org.h2.jdbc.JdbcSQLException:表“FILMS”非 trouvée
Spring boot 版本为 2.03 RELEASE;postgresql 连接器和服务器的都是 9.4。我正在使用spring boot parent starter,以及data-jpa-starter(没有定义额外的hibernate/jpa依赖)。
源代码在这里
我的 postresql 服务器启动了,数据库“db”存在,并且它的表 public.“FILMS”充满了数据......
关于我在做什么(或不理解)错误的任何想法?
解决方案
在您的应用程序属性文件中尝试
spring.jpa.hibernate.ddl-auto=validate
它将尝试检查您的数据库中的表
推荐阅读
- oauth - 小屏幕即智能手机上的 eBay oauth 令牌流
- php - Codeigniter 创建 0 字节文件我如何防止它?
- hadoop - 带有序列文件的 Hadoop 流非常慢
- android - 联系人提供程序中的重音不敏感查询
- ios - 从 loacdatabase 中搜索一个单词并尝试获取 #category 和 #word IOS/ObjectiveC
- mysql - 从表中的每一行添加值并输出(将 JSON 字符串转换为 int)
- reactjs - 在父级中存储对子函数的引用
- mysql - 使用 Powershell 将 MySQL 导出为 CSV
- python - python从xlsx读取数字作为不同类型
- reactjs - React - 一个文件应用程序 - 警告:React.createElement:类型无效 - 需要一个字符串(对于内置组件)