业务对象映射到表之间的关联问题!!

07-07-19 ironpearl

有个客户关系管理系统。

现在有几个业务对象,如投诉信息对象、报装信息、报修信息等等。

每个业务里可以有要求回访,并且一个业务可能对应要求几次回访。所以把回访信息单独进行一个对象维护。

class CallBackInfo(){

id int; //回访的标识ID

... //其他属性

}

class ComplainInfo(){

int id; //投诉的标识ID

Array[] callbacks; //回访信息

... 其他属性

}

class ******FaultInfo(){

id int; //报修的标识ID

Array[] callbacks; //回访信息

... 其他属性

}

class ******InstallInfo(){

id int; //报装的标识ID

Array[] callbacks; //回访信息

... 其他属性

}

在设计表时,如果将回访表与其他业务表进行关联??

1、如果在表callBackInfo里增加一个外键字段,指向业务ID,对应的问题是有三个业务ID

2、如果在1的基础之上增加个int type字段,用于指定哪个业务,这样设计有悖面向对象的思想,同时hibernate映射也有问题

3、不把回访信息单独做为一个对象,其属性分别做为各个业务对象的属性。这样有业务如果多次回访问时,就要有多个业务记录来对同一个业务问题进行记录。

              

fgjssb
2007-07-20 10:51
投诉信息、报装信息、报修信息所对应的回访对象是一样的吗?如果不一样那么放在一张表中合适吗?

ironpearl
2007-07-20 13:36
回复对象的类型是一样的,如有属性:回访时间,客户满意度,回访受理人.

fgjssb
2007-07-22 15:56
可以把回访记录放在一张表中,用类型字段标志对应哪一类业务,在加一个业务id字段指向业务记录

ironpearl
2007-07-23 17:52
>可以把回访记录放在一张表中,用类型字段标志对应哪一类业务,在加一个业务id字段指向业务记录

业务ID字段指向业务记录,不能做为外键吧,因为对应几个业务表呢,呵呵

[该贴被ironpearl于2007年07月23日 17:53修改过]

猜你喜欢
2Go 1 2 下一页