1. 类别表被三个业务表作为外键,而这三个业务对象实际使用时只是其中的一个对象被实例化。
2. 类别表的映射文件通过设置3个 set one-to-many 分别关联至三个不同业务对象。
3. 类别对象定义了3个HashSet集合分别对应3个不同的业务对象。
private Set<Lan> lantype=new HashSet<Lan>(0);
private Set<Idc> lantype=new HashSet<Idc>(0);
private Set<Hosts> lantype=new HashSet<Hosts>(0);
4. 写类别对象的构造函数是就有个问题:
如果同时写三个构造函数,会报错函数重复:
public cate(int id, String name, Set<lan> type)
public cate(int id, String name, Set<IDC> type)
public cate(int id, String name, Set<Host> type)
所以只能写一个构造函数了
public cate(int id, String name, Set type)
问题是如何知道实例化那个业务对象集合
[b]问题补充:[/b]
- [code="java"][b][color=darkblue]lovewhzlq[/color] [/b][/code]说的第一个问题: 3个业务表相互独立,是平行关系: 一条类别记录只对应3者之一,也就是与其他两个业务无关了
-
[code="java"][b][color=darkblue]lovewhzlq[/color] [/b][/code]说的第二个问题:
“可以改成只要一个one-to-many就解决了”,可否给个示范;
- 我个人觉得二楼的答案可行,问题是具体怎么用instanof进行判断 。 [b]问题补充:[/b]
- 一楼说的第一个问题,补充如下: 3个业务表相互独立,是平行关系: 一条类别记录只对应3者之一,也就是与其他两个业务无关了。
- 一楼说的第二个问题(改成只要一个one-to-many), 能否给个具体的……
- 我觉的二楼的方法可行,但instanof判断没用过, 能给个具体的过程吗。