【发布时间】:2017-12-17 15:12:39
【问题描述】:
我可以通过 pgAdmin 清楚地看到公共方案中存在表“TEST”。
这是我的配置:
@Entity
@Table(name = "TEST", schema = "public")
public class TestEntity
application.yml:
spring:
jpa:
hibernate:
ddl-auto: validate
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
databasePlatform: org.hibernate.dialect.PostgreSQLDialect
例外:
Caused by: org.hibernate.tool.schema.spi.SchemaManagementException: Schema-validation: missing table [TEST]
at org.hibernate.tool.schema.internal.SchemaValidatorImpl.validateTable(SchemaValidatorImpl.java:67)
当我将 ddl-auto 更改为“更新”时,它会创建带有“测试”名称的表,并且一切都开始按预期工作。问题是我认为我的配置很好,它应该找到“TEST”。 有人可以帮忙吗?也许我需要使用更具体的方言?
【问题讨论】:
-
根据我的经验,如果您的架构没问题,此类错误与应用程序 yaml 中的数据源定义有关。
标签: spring hibernate jpa spring-boot