English 中文(简体)
如何在 Hhibernate 中将两个类映射到一个 DB 表格
原标题:How to map two classes to one DB table in Hibernate

我正在学习Hinbernate, 如果我能将两个班 映射到一张DB桌子上,

ex :

Class Developer {
    String name;
}

Class Manager {
    String name;
}

这两个类别都绘制在一张表格上,让我们用名称表示雇员,用一列字符串数据类型。

Will Hibernate be able to create rows in table based on the class I am using for creating. Or do you think there should be a discriminator column to differentiate between classes?

注:各等级之间没有继承关系,它们是分开的。

最佳回答

当您使用 xml 映射文件时, 您只需创建两个映射文件 开发者. hbm. xml 和管理者. hbm. xml 和 管理者. hbm. xml, 这两个文件都指同一张数据库表格。 这有用 。

问题是, 您必须确保仅以开发者或管理者的身份装入表格行, 但不能两者兼而有之。 例如, 如果您用 session. createQuery (“ 开发者” ) session. create Query (“ 管理者” )

因此,并非绝对必要,而是强烈建议实行歧视。

问题回答

那么,想想数据库的模型, 而不是你的物体模型。 怎么能有人( 无论是你还是Hibernate ) 在你的表格上给出一个记录, 告诉哪个实体它实际上是哪个实体呢?

你要么需要引入某些阶级等级并使用