现在我为每个实体都有一个DAO。
当我保存某个实体时,比如说Employee,它需要链接到相应的Node实体以显示在树中。
如何在保持代码尽可能简单的同时完成这项工作?
编辑:这里有一些额外的细节。在OO中,我想要实现的是能够让Node引用一个对象,并且有可能在另一个Node下找到它。这样,只需要一个节点来描述树,同时可以从包含的对象中获取不同的属性。这是我看待事物的方式:
节点1-1 NodeObject 1-1员工
答案 0 :(得分:1)
创建树的节点并不真正意味着一对一的关系,而是一对多的关系。
在这些术语中,您的Employee
表可以有一个列,表示其中每个实体所属的节点的ID。
在你的DAO中,你应该
Employee
和Node
个对象作为参数传递给您的方法,Node
对象的ID
实体,Node
ID。事实上,你的问题应该更具体。
根据以下评论编辑:
如果您的Node
表格代表树,并且您希望每个Node
与Employee
建立一对一的关系,那么这取决于哪些参考对您很重要。
如果您只需要1号,那么您将拥有Node
实体中员工的ID。如果您需要两者,那么您还可以将节点的ID放在Employee
实体中。
上述DAO方法的逻辑仍然适用。
答案 1 :(得分:1)
假设您在员工和员工详细信息之间存在一对一关联。
Employee(Data Object)------>Employee Table
Employee Detail(Data Object)------>Employee Details Table
员工详细信息具有列员工ID,它是Employee表的外键。
现在你想要坚持员工。首先,您将持久保存Employee对象并获取其主键。现在使用主键Employee table填充Employee Detail的属性employeeId。现在保留Employee Detail对象。
要在单个go中加载两个实体,请使用Employee和Employee Details Table之间的内部联接