【发布时间】:2021-11-09 01:18:10
【问题描述】:
我是hibernate的初学者,不知道有没有办法从数据库中的一种类型映射到另一种类型到类中的@Column注解。在我的具体示例中,有一个持续时间作为 BIGINT 保存在数据库中,表示秒数,我想将其映射到我的实体对象中的java.time.Duration。我正在从事一个 Spring 项目。
表(我是用flyway创建的,我没有使用hibernate自动创建表):
CREATE TABLE times (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
duration BIGINT
);
实体类:
@Entity
@Table("times")
class TimeEntity {
@Id
private Long id;
@Column("duration")
private Duration duration;
// - when reading from DB I would like to assign:
// :: Duration.ofSeconds(<duration bigint from database>)
// - when writing to DB I would like to write:
// :: duration.toSeconds(); -> long
}
是否可以通过hibernate来实现?
【问题讨论】:
标签: java hibernate spring-data-jpa