休眠@CreationTimestamp值在数据库中不持久

时间:2018-07-28 22:20:01

标签: java hibernate

我面临着Hibernate ORM v5.3.3.Final的奇怪行为。 我创建了通过审核继承了@MappedSuperclass的实体。 当该实体的@IdLong @GeneratedValue @CreationTimestamp时,效果很好。 在删除@GeneratedValue并将其设置为String(由我自己管理)之后,@CreationTimestamp不再在数据库中创建。顺便说一句,当我调用repository.save(entity)时,此值已生成并出现在java对象中,我什至在JSON响应中看到它。但是它并没有持久化到数据库。无论如何,@UpdateTimestamp都能很好地工作。

我想这是一个错误,但是我不知道该在哪里发布。

这是我的实体的样本。

@Data
@MappedSuperclass
public abstract class DomainObject implements Serializable {

private static final long serialVersionUID = 6401685143829079597L;

@Column
@CreationTimestamp
private LocalDateTime createdTime;

@Column
@UpdateTimestamp
private LocalDateTime updatedTime;

}

@Data
@Entity
@Table(name = "categories")
public class Category extends DomainObject {

private static final long serialVersionUID = -8399381946756000214L;

@Id
private String id;
}

请确保我在更改实体ID类型时从休眠中删除并生成了新的DDL

0 个答案:

没有答案