我有以下对象模型:参考从列在另一个表中的对象
class ObjectA{
public string Description {get;set;}
}
class ObjectB{
public string Description {get;set;}
public ObjectA A {get;set;}
}
class ObjectC{
public string Description {get;set;}
public ObjectB B {get;set;}
}
class ObjectD{
public string Description {get;set;}
public ObjectC C {get;set;}
public ObjectA A {get;set;}
}
我的表如下所示:
答:ID(INT),描述(字符串)
B:ID(INT),描述(字符串),A_ID(INT)
C:ID(INT),描述(字符串),B_ID(INT)
D:ID(int),DESCRIPTION(字符串),C_ID(int),A_ID(int)
在表D中A_ID是表A的主键的外键。最初这样做是为了您可以从ObjectD
轻松访问ObjectA
:ObjectD.A
。这导致来自表A的ID必须被添加到想要以这种方式去访问ObjectA
的每个表中(想象具有ObjectE
和ObjectF
,都想要容易地访问ObjectA
)。在这种情况下,ObjectB
将始终引用ObjectA
。
我想摆脱所有表格中对A_ID的引用,但我希望能够从我的类中轻松访问ObjectA
。我知道我可以做ObjectD.ObjectC.ObjectB.ObjectA
在需要的时候得到ObjectA
,但这似乎打败了延迟加载我的对象的目的。
我该如何映射我的ObjectD
,这样我可以有ObjectA
直接访问,而“在ObjectD
的ID的表有ObjectA
?
注意:我使用hbm/xml文件来映射我的类。