java - 如何将属性的值传播到属于我的类的其他类型的属性?
问题描述
我有这些课程:
@MappedSuperclass
public abstract class AbstractClazz {
@Id
protected int id;
protected Instant createdAt;
protected String createdBy;
//getters and setters
@PrePersist
private void prePersist() {
setCreatedAt(Instant.now());
}
}
public class ConcreteClazzA extends AbstractClazz {
private String name;
//getters and setter
}
public class ConcreteClazzB extends AbstractClazz {
private ConcreteClazzA clazzA;
private String name;
//getters and setter
}
当我坚持 ConcreteClazzA 时,如何在 ConcreteClazzB 设置 createdBy(获取当前用户)?我不能使用@PrePersist,因为我必须保持组件的独立性。
如何在两个类中设置相同的 createdAt?
解决方案
使用MappedSuperclass
注释
@MappedSuperclass
public abstract class AbstractClazz {