我有以下课程
@Embeddable
public class SharedClass {
...
private String legacyField;
...
}
@Entity
public class LongStandingEntity {
...
private SharedClass sharedClass;
...
}
legacyfield
将一些过时的数据存储在较旧的对象中,但不会为新的对象收集。但是,我确实需要能够继续访问旧数据。我正在创建一个也使用
SharedClass
的新实体@Entity
public class NewEntity {
...
private SharedClass sharedClass;
...
}
它不需要
legacyField
,而我想避免在数据库中为其添加一列,同时保持LongStandingEntity
的映射正常。JPA注释可以吗?
最佳答案
我不记得有什么可以帮助您的特定注释。尽管如此,我还是希望采用这种情况下的设计方法。如果您的字段仅属于某个类,则将其分为另一个仅与旧数据相关联的embedabble类。
在我看来,这似乎是一种更清洁的方法,只是为了使各个实体保持明显区别。