簡體   English   中英

如何堅持一對一的關系? (沒有框架)

[英]How to persist a one-to-one relationship ? (no framework)

現在我為每個實體都有一個DAO。

當我保存某個實體時,比如說Employee,它需要鏈接到相應的Node實體以顯示在樹中。

如何在保持代碼盡可能簡單的同時完成這項工作?

編輯:這是一些額外的細節。 在OO中,我想要實現的是能夠讓Node引用一個對象,並且有可能在另一個Node下找到它。 這樣,只需要一個節點來描述樹,同時可以從包含的對象中獲取不同的屬性。 這是我看到的東西:

節點1-1 NodeObject 1-1員工

創建樹的節點並不真正意味着一對一的關系,而是一對多的關系。

在這些術語中,您的Employee表可以有一個列,表示其中每個實體所屬的節點的ID。

在你的DAO中,你應該

  • 將要連接的EmployeeNode對象作為參數傳遞給方法,
  • 通過查找相應的實體在數據庫中查找Node對象的ID,
  • 並使用來自對象的數據和獲取的Node ID創建員工實體。

實際上,你應該在你的問題中更具體。

根據以下評論編輯:

如果您的Node表代表樹,並且您希望每個NodeEmployee具有一對一的關系,那么它取決於哪些引用對您很重要。

  1. 您希望能夠引用屬於某個節點的員工(可能)。
  2. 您想要查找員工所屬的節點(不太可能,但可能)。

如果您只需要編號1,那么您將在Node實體中擁有該員工的ID。 如果您需要兩者,那么您還可以將Node的ID放在Employee實體中。

上述DAO方法的邏輯仍然適用。

假設您在員工和員工詳細信息之間存在一對一關聯。

Employee(Data Object)------>Employee Table
Employee Detail(Data Object)------>Employee Details Table

Employee Details具有列employee name,它是Employee表的外鍵。

現在你要堅持員工。 首先,您將持久保存Employee對象並獲取其主鍵。 現在使用Employee table的主鍵填充Employee Detail的屬性employeeId。現在保留Employee Detail對象。

要在單個go中加載兩個實體,請使用Employee和Employee Details Table之間的內部聯接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM