【发布时间】:2017-01-10 17:49:51
【问题描述】:
假设我在一个实体中有一个持久属性A,以及两个瞬态字段T1、T2。当实体被持久化时,我需要根据T1、T2计算A(假设这是一个无法更改的遗留数据库)。
@Entity
Class MyEntity {
@Column(name="persistantA")
Integer A;
@Transient
Integer T1;
@Transient
Integer T2;
@PrePersist
void prePersist() {
A = T1 * T2;
}
}
但是在 prePersist() 方法中,所有瞬态字段都被清除 --- 它们被设置为其初始值 --- 这似乎是 Hibernate/Jpa 的正确行为。
如何克服这个问题?
我正在使用带有 Jpa 和 Hibernate 的 Spring Boot。
【问题讨论】:
标签: java hibernate jpa transient