- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近尝试将我的应用程序从 JBoss EAP 7.0 部署到 7.2.4,从那时起,我在使用 字段进行模式验证时遇到了这个问题LocalDate
映射到 date
类型的列。
确切的失败消息是:
{"WFLYCTL0080: Failed services" => {"jboss.persistenceunit.\"project-name.ear#MyPersistenceUnit\"" => "javax.persistence.PersistenceException: [PersistenceUnit: MyPersistenceUnit] Unable to build Hibernate SessionFactory
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: MyPersistenceUnit] Unable to build Hibernate SessionFactory
Caused by: org.hibernate.tool.schema.spi.SchemaManagementException: Schema-validation: wrong column type encountered in column [someDate] in table [SOME_TABLE]; found [date (Types#DATE)], but expecting [timestamp (Types#TIMESTAMP)]"}}
架构中的片段:
create table SOME_TABLE(
-- primiary key and other columns
someDate date
);
实体中的字段:
@Convert(converter = LocalDateConverter.class)
private LocalDate someDate;
转换器
import java.sql.Date;
import java.time.LocalDate;
import javax.persistence.AttributeConverter;
import javax.persistence.Converter;
@Converter(autoApply = true)
public class LocalDateConverter
implements
AttributeConverter<LocalDate, Date> {
@Override
public Date convertToDatabaseColumn(LocalDate attribute) {
return attribute == null ? null : Date.valueOf(attribute);
}
@Override
public LocalDate convertToEntityAttribute(Date dbData) {
return dbData == null ? null : dbData.toLocalDate();
}
}
我发现按照建议添加 @Column(columnDefinition = "date")
here解决了问题,但我的问题是:
columnDefinition
?这是 H2 的问题,而连接 Oracle 则没有此问题。
最佳答案
已更新
在 Oracle 模式下使用 DATE 时,您似乎遇到了 Hibernate 与 H2 驱动程序不兼容的问题。请参阅:https://github.com/h2database/h2database/issues/1824
此外,JBoss 7.2 现在支持 JPA 2.2(请参阅:https://access.redhat.com/articles/113373)。在 JPA 2.2 中添加了对 Java8 时间类(如 LocalDate)的支持,因此您可以删除转换器。
JPA 2.2 使用 JDBC 4.2。以下是 JDBC 中的对象映射。
请参阅 JDBC 4.2 spec 上的表 B-4 :
关于java - LocalDate 的 hibernate 模式验证失败 - 找到日期,但需要时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60725695/
给定一个带有多个 date_time 戳的字符串,我想 提取第一个戳及其前面的文本 候选字符串可以有一个或多个时间戳 后续的 date_time 戳记将被 sep="-" 隔开 后续date_time
是否可以合并从相机拍摄的文本和照片?我想在照片上标记日期和时间,但我在 Google 上找不到任何内容。 最佳答案 使用下面的代码来实现你所需要的。 Bitmap src = Bitm
有没有办法通过 Graph API 戳另一个用户?基于this post ,并使用 Graph Explorer ,我发布到“/USERID/pokes”,我已经授予它(Graph API 应用程序和
我有两个向左浮动的元素。一个是 body 的第一个 child ,另一个是容器的第一个 child ,容器是 body 的第二个 child 。 ...
我是一名优秀的程序员,十分优秀!