我需要构建一个 Vehicle 域对象。所有 Vehicle 对象将具有大约 5 个属性……没什么大不了的。我用@Entity 对类进行注释,在一个用@Id 注释的id 中拍打。我的问题是,我需要考虑另外两种类型的特种车辆。一个需要保存 2 个额外的字符串值,另一个需要保存一个字符串列表。
我希望能够执行 findAll() 并获得所有车辆,因此我并不真正愿意为其他两种类型的车辆创建完全独立的域对象并为它们提供完全独立的表。我玩弄了一个想法来创建一个“AdditionalProperties”抽象类,使其成为 Vehicle 的成员,然后为我的两辆专业车辆扩展它,但我很快就迷失了如何正确地对其进行注释并将其映射到数据库。但即便如此,我也会坚持编写大量单一的 if 语句来检查车辆类型并转换该类等
我的另一个想法是在我现在拥有的单个 Vehicle 域对象中包含额外的字段(即使它们对所有其他类型的车辆没有任何意义)并将值保留为空,除非它是其中之一特种车辆。
有人对我应该如何处理这个问题有任何想法吗?可能有一些关于如何注释类的例子?