我在heroku上创建了java(Spring)应用程序,并将postgreql连接到它。当我在应用程序上发出请求时,日志显示
WARN 4-[io-14883-exec-3]o . h . engine . JDBC . SPI . sqlexception helper:SQL错误:0,SQLState:42p 01 app[web.1]:2016-12-11 12:13:09.942错误4-[io-14883-exec-3]o . h . engine . JDBC . SPI . sqlexception helper:错误:关系“dish”不存在app[web . 1]:位置:13 app[.[/].[dispatcherServlet]:路径为[]的上下文中的servlet [dispatcherServlet]的Servlet.service()引发异常[请求处理失败;嵌套异常为org . spring framework . Dao . invaliddataaccessresourceusageexception:无法执行语句;SQL[不适用];嵌套异常为org . hibernate . exception . sqlgrammarexception:无法执行语句]根本原因app[web.1]:org . PostgreSQL . util . psql异常:错误:关系“dish”不存在app[web . 1]:位置:13
应用程序属性:
spring.datasource.url=${JDBC_DATABASE_URL}
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.maxActive=10
spring.datasource.maxIdle=5
spring.datasource.minIdle=2
spring.datasource.initialSize=5
spring.datasource.removeAbandoned=true
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.generate-ddl=false
#spring.jpa.hibernate.ddl-auto=create
spring.jpa.show-sql=true
此模型适用于我的本地计算机
型号:
@Entity
public class Dish
implements Serializable
{
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long dishId;
private Long categoryId;
private String name;
private String description;
private Float price;
private String picUrl;
public Long getId()
{
return this.dishId;
}
public void setId(Long dishId)
{
this.dishId = dishId;
}
public Long getCategoryId()
{
return this.categoryId;
}
public void setCategoryId(Long categoryId)
{
this.categoryId = categoryId;
}
public String getName()
{
return this.name;
}
public void setName(String name)
{
this.name = name;
}
public String getDescription()
{
return this.description;
}
public void setDescription(String description)
{
this.description = description;
}
public Float getPrice()
{
return this.price;
}
public void setPrice(Float price)
{
this.price = price;
}
public String getPicUrl()
{
return this.picUrl;
}
public void setPicUrl(String picUrl)
{
this.picUrl = picUrl;
}
}
#spring.jpa.hibernate.ddl-auto=create
被注释掉了。所以Hibernate不会创建你的表。这就是为什么它们不存在的原因。
问题内容: 我正在尝试在PostgreSQL 8.4.2 DB上运行hibernate模式。每当我尝试运行一个简单的Java代码,例如: 我收到以下错误: 由于我将选项hibernate.show_sql选项设置为true,因此可以看到hibernate尝试运行以下SQL命令: 实际上,它至少应运行以下命令: 有谁知道我需要进行哪些更改才能使Hibernate为PostgreSQL生成正确的SQL
我使用PostgreSQL 10、Spring Boot 2.2.7.Release和pgAdmin 4来实现Postgres GUI 我有以下实体类: 我已经使用GUI PGADMIN4为ID列“TB03_TABLE_A_SEQ”创建了表“TB03_TABLE_A”和序列 我哪里出问题了?请救命! 提前感谢!
在pgadmin4将id保存在postgresql中后,我无法从“test”表中检索到id: 这里是表“test”的pgadmi4生成的create脚本: org.postgresql.util.psqlexception:错误:关系“test_id”不存在位置 ;:16在org.postgresql.core.v3.queryexecutorimpl.receiveerrorresponse(q
由于一些奇怪的原因,hibernate生成的查询不适用于postgres,它告诉它无法找到关系/表,即使在架构中有有效的表?这个答案没有帮助。 例外情况: HQL公司 生成SQL 此查询工作正常: 基于胶片实体注释的映射: 解决方案/黑客: 评论后,问题消失了。
我有一个使用spring boot和postgres的应用程序。我在尝试创建用户时遇到此错误。 当我在我的数据库上运行此查询时,我得到相同的错误: 但如果我将其更改为: 它起作用了。 如何在我的spring boot应用程序上配置它? pom中的依赖项。xml: application.properties: 我的实体: 我从表单中调用此操作: 这是我的控制器: 记录错误的验证器: UserSer
:“查询执行失败。原因: SQL错误[42P01]:错误:关系”temp_table“存在。 不存在” 我想创建一个临时表来临时存储一些记录。