gpt4 book ai didi

java - 如何使用hibernate在mysql中将LocalDateTime初始化为TIMESTAMP?

转载 作者:行者123 更新时间:2023-11-29 17:00:46 29 4
gpt4 key购买 nike

如果我希望 LocalDateTime 字段在 mysql 数据库中始终为 TIMESTAMP 类型:我可以做得比不断定义@Column(columnDefinition = "TIMESTAMP NULL DEFAULT NULL") 在各种类中?

@Entity
public class MyTable {
@Column(columnDefinition = "TIMESTAMP NULL DEFAULT NULL")
private LocalDateTime mymodification;
}

对于每个应将 LocalDateTime 保存为 timstamp 而不是 datetime 的类,必须一遍又一遍地重复相同的 @Column 定义。 ..

最佳答案

InheritanceType.TABLE_PER_CLASS将删除冗余和 @PrePersist将实例化 LocalDateTime

@MappedSuperclass
public abstract class DateHolder {
@Column(columnDefinition = "TIMESTAMP NULL DEFAULT NULL")
private LocalDateTime myModification;

//Getters And Setters ¯\_(ツ)_/¯
}

@Entity
public class MyTable extends DateHolder {

@PrePersist
public void prePersist() {
setMyModification(LocalDateTime.now());
}
}

关于java - 如何使用hibernate在mysql中将LocalDateTime初始化为TIMESTAMP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52276918/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com