有没有办法让一个类被声明为@MappedSuperclass,例如为了继承公共属性并且并行使该类能够作为其他类中的对象属性引用?
更多背景资料:
我有一个类,其中包含所有扩展类应具有的属性,例如
class Resource {
String id;
String description;
String value;
}
这将是@MappedSuperclass的一个用例。所有扩展类/类型都将从该类继承。
但我还有另一个班,例如
@Entity
class MyList extends Resource {
Resource firstElement;
MyList otherElements;
}
所以,在这里,我将无法拥有Resource类型的对象属性firstElement
,因为Resource不是@Entity。
这可能吗?你会建议做什么?
我在这方面考虑过的一些事情:
Resource
成为@Entity并且我查询数据库时让我们说Resource.value
这会导致大量表的连接。在我的数据模型中大约有50-60个表。您遇到过这样的设计问题吗?您是如何在干净的数据库设计和性能之间取得平衡的?许多人推荐使用TABLE_PER_CLASS继承层次结构(尚未尝试过),尽管我无法在一个表中对所有类的所有属性进行映像...