【发布时间】:2018-10-23 08:40:09
【问题描述】:
假设我有 JPA @Embeddable:
@Embeddable
public class SpecificationValidity {
@Column(name = "VALID_FROM", nullable = false)
private final LocalDateTime validFrom;
@Column(name = "VALID_TO")
private final LocalDateTime validTo;
}
SQL 表包含列 VALID_FROM 和 VALID_TO,并使用 liquibase 变更集声明如下:
<column name="VALID_FROM" type="date">
<constraints nullable="false"/>
</column>
<column name="VALID_TO" type="date"/>
当我对 Oracle 数据库运行此代码时,一切正常。
当我针对 H2 数据库运行它时,Caused by: org.hibernate.tool.schema.spi.SchemaManagementException: Schema-validation: wrong column type encountered in column [valid_from] in table [specification]; found [date (Types#DATE)], but expecting [timestamp (Types#TIMESTAMP)]
为什么会这样?
是否可以为两个 dbms 提供一致的映射?
【问题讨论】:
-
你用的是什么版本的休眠?
标签: oracle hibernate h2 liquibase