Меня смущает удивительное поведение eclipselink 2.5.2.В тех же случаях переходные поля объекта устанавливаются с последним значением после загрузки объекта.С моей точки зрения, нет определения того, каким должно быть состояние переходных полей после загрузки (см. https://download.oracle.com/otn-pub/jcp/persistence-2.0-fr-oth-JSpec/persistence-2_0-final-spec.pdf?AuthParam=1551111289_d4f5a797aa325dac1adb64fb8b75c2af). Кто-нибудь может объяснить это поведение? Я сохраняю поведение и устанавливаю все поля @Transient
в аннотированном @PostLoad
метод к нулю.
@Entity
@Cacheable(true)
@Cache(expiry = 300000)
@Table(uniqueConstraints=@UniqueConstraint(name = "uc_b_a_v", columnNames = {"a_id", "v"}))
public class Entity {
@Transient
private String transientfield;
@PostLoad
public void onPostLoad() {
transientfield = null;
}
}