子类或继承哪种方式最好使用hibernate hbm?

时间:2012-02-15 20:32:17

标签: java hibernate inheritance hbm

有人可以使用hibernate hbm文件与我分享下面这个问题的更好方法吗?

假设我有2个类叫做Vehicle,Car和2个表Vehicle and Car。具有通用字段的车辆,假设每辆车,公共汽车等都有

我正在尝试为Car创建DomainObject:

  1. 汽车延伸车辆?如果是这样,有人可以分享我如何在Car hbm文件中声明Vehicle类,并且当Car对象被保存时,这两个数据都会被保存吗?

  2. 我可以有2个单独的文件(汽车,车辆),在Car类我可以声明类(私人车辆)并将此对象构造为Car类的一部分并使用级联保存Car类。

  3. 有人可以建议哪种方法会好吗?我需要将数据存储在两个表中。

1 个答案:

答案 0 :(得分:0)

使用一个或两个表之间的区别主要是偏好,但我会考虑:

  • 您是否想要查询所有类型的车辆
  • 对所有车辆类型共有(继承)多少属性
  • 你说的车辆数量多少(如果有很多,单独的表可能会更快)

如果您确实想要使用一个表,那么您可以使用鉴别器字段(as described in this page)来标识记录的子类。 Here's the Hibernate documentation