我想你可以通過這樣的方式來構建你的數據,你可以定義表 中的所有對象類型,然後使用下面的方法。
U可以定義像表:
OBJECT_TYPE
OBJECTS
OBJ_PROPERTY_DEF
OBJ_PROP_VALUES
例如。
在OBJECT_TYPE 定義這裏的所有對象類型
object_type_code(PK)obj_name
4 car
5 t-shirt
在OBJECTS
obj_code(PK)object_type_code(FK)obj_name
1 4 BMW
2 4 Maruti
3 4 Honda
4 5 levis
5 5 polo
6 5 reebock
在OBJ_PROPERTY_DE中F
定義與此表中的對象相對應的所有屬性。
注意:使用常量文件來定義屬性類型會避免另一個表。 希望能早點知道數據類型。
obj_prop_code(PK)obj_code(FK)房產類型PROPERTY_NAME
------------- -------- ----------- - -------------
12 6 8 (Integer) size
13 6 9 (String) color
14 6 10 (float) weight
15 6 11 (Boolean) is_coloured
16 6 9 (String) comments
17 3 9 (String) model
18 3 8 (Integer) version
19 3 9 (String) color
20 3 9 (String) comments
在OBJ_PROP_VALUES U可以inser的值在上述特定屬性
obj_prop_val_code(PK)obj_prop_code(FK)obj_prop_value(VARCHAR )prop_value_sufix
----------------- ------------- -------------- ----- ------------
101 12 30 -
102 13 green -
103 14 126 gms
104 15 0 -
105 16 looks cool -
106 17 c532 -
107 18 3.22 -
108 19 black -
109 20 awesome car -
註冊的Java歸類:
定義的所有類與相應的屬性。 例如:
ObjectTypeData
目標數據
ObjectPropertyDefData
ObjectPropertyValuesData
在ObjectData.java
private ObjectTypeData objType;//specifies the type
private List<ObjectPropertyValueData> listProps; //will have all property values
//setter & getters and other req props
超好玩!感謝Gene的回答,我將會有一個Attribute對象。每個類別都有一個私有迭代器,其中包含與其對應的所有Attribute對象。當實例化代理Item對象時,我將創建一個hashmap並使用Attribute name作爲關鍵字,並將其值作爲值。我將有一個getAttribute(String)方法,它使用提供的字符串值(屬性名稱)來獲取特定屬性的值。還有一個setAttribute(String,Value)。我認爲這會起作用! – sunrize920
太棒了!你可以進一步簡化它通過使用所有可能的屬性名稱的枚舉:) – dharam