我刚进入休眠状态,而我发现的一件事是,有时它会限制我使用层次结构,而不是我想要的。
我知道不可能做类似的事情
public interface Storable {
public String getStorageLocation();
}
然后拥有
@Entity
public class Widget {
@Id
private int id;
@OneToOne
private Storable storable;
}
虽然这在休眠状态下不起作用,但我确实认为在许多情况下这是最佳的OOD选择。在这种情况下,解决诸如
@Entity
public class Widget {
@Id
private int id;
private int storableId;
// this might also just be a string called type, which could
// be mapped to an obj at some point
private Class storableClass;
}
我有点讨厌,但是就坚持当前的对象模型而言,这会让我放松。我认为这肯定是一个相对常见的情况,想知道其他人如何处理它。