엔티티에 영구적 인 속성 A
이 있고 T1
, T2
이라는 2 개의 일시적인 필드가 있다고 가정 해보십시오. 엔티티가 지속되면 T1
, T2
을 기반으로 A
을 계산해야합니다 (변경할 수없는 레거시 데이터베이스라고 가정).지속하기 전에 임시 속성을 기반으로 영구 속성을 계산하는 방법은 무엇입니까?
@Entity
Class MyEntity {
@Column(name="persistantA")
Integer A;
@Transient
Integer T1;
@Transient
Integer T2;
@PrePersist
void prePersist() {
A = T1 * T2;
}
}
그러나 prePersist()
메서드 내 모든 transient 필드들은이 초기 값으로 설정 --- 해제 ---이 최대 절전/JPA에 대한 적절한 행동 것으로 보인다된다.
어떻게 극복 할 수 있습니까?
저는 Jpa와 Hibernate로 Spring 부트를 사용하고 있습니다.
당신 말이 맞습니다. 그러나 나는 persit() 및 merget() 모두에 대한 변환을 수행하려고합니다. 마지막으로 setter 메서드에서 transform 함수를 호출하여이 문제를 해결했습니다. – xing