是否可以保留通用字段?
Entity我在课堂上有这个属性
...
private T payload;
...
T extends EventMessagePayload
Run Code Online (Sandbox Code Playgroud)
和
public interface StringPayload extends EventMessagePayload{
String getPayload();
}
Run Code Online (Sandbox Code Playgroud)
在我的应用程序中,我仅在 String 类型时保留该字段,并且在保存操作期间一切都很好。
当我读取对象而不是 JPA 时,尝试创建一个String对象,但它是一个StringPaylod. 有没有办法拦截创建并处理对象编组?
JPA 本身不允许这样做,但您的 JPA 实现可能允许这样做。我们曾经使用 Hibernate 这样做过,它归结为实现您自己的 EntityTuplizer(以及用于将对象映射回 HibernateEntities 的 HibernateInterceptor)。