我有一个对象,它可以根据对象的type属性具有不同的字段
class Expense {
String id;
String type; // "MILEAGE" or "PERDIEM"
String commonAttribute1;
// there are too many common attribute
Mileage mileage;
PerDiem perDiem;
}
Mileage和PerDiem具有不同的属性,根据类型,其中一个将为null,另一个将填充。
建立这种关系的最佳方法是什么?
我想到了两种方法:
1-为里程和每日津贴创建不同的表格,并通过具有一对一关系的外键将它们链接到费用表。
2-在同一个表上添加两个,并根据我可以从表中获取我想要的任何属性的类型,但是许多列将不被使用。