如何获取分类对象与jpa(hibernate)



这里有3个类:

abstract class AbstractClass{@Column("type") public int type;......}
class A extends AbstractClass{......}
class B extends AbstractClass{......}

在数据库中,当type=1表示A, type=2表示B,那么我如何获取这些对象作为AbstractClass,而具体类是type=1时的A, type=2时的B呢?

这取决于您的数据库结构。如果在整个类层次结构中使用一个表,请查看Hibernates关于每个类层次结构的表的文档。如果您使用一个表来存储AbstractClass中的公共字段,并为每个子类使用一个表,那么您可以查看关于将每个类层次结构中的表与每个子类中的表混合在一起的文档。在这两种情况下,它都归结为定义一个标识符(在您的例子中是类型列)。

您需要使用这里描述的"每个类层次结构一个表"继承映射。标识符列的显式映射是可能的,但不是强制的。

最新更新