由於上面的紅色塊(警告這是一個主觀問題,可能會被關閉),可能沒有石蝕法,但我不明白爲什麼將需要結束一個問題。字段名稱最佳做法(陰影或複合名稱)
...咆哮一邊
我就準備實施Hibernate作爲我的持久性框架,它可以在實施解決我的問題,但我有翻譯成類和子類(許多細節和複雜數據庫表和
//dbo.a with column Name
class a {
public String Name;
}
//dbo.b with column Name and a foreign key to dbo.a
class b extends a {
public String Name;
}
因此,對於應該做什麼,爲什麼:存在於現實生活中省略了:))
陰影:
我可以離開這些原樣,這將在編譯時處理其類型未知的對象時,需要一些反射靈巧性(每http://forums.sun.com/thread.jspa?threadID=5419973)。
化合物名稱:
我能說出我所有的領域通過其類的名字前面,即a.aName
和b.bName
,它得到在現實生活中真的很醜的:Door.DoorName
和RotatingDoor.RotatingDoorName
getter和setter:
我沒有」不要提這一點,因爲使用JavaBeans這些將從字段名稱中派生出來,我相信Hibernate使用帶註釋的POJO。
要影響的結果一點,陰影似乎是最強大的,至少在我的情況下類a
擴展與Name
一個抽象類定義,那麼b
陰影與自己Name
時適用。使用複合名稱將意味着,如果我想要添加一個NickName
列到我所有的數據庫表中,那麼我將不得不將該字段添加到每種類型(然後什麼是繼承?!)
最後我決定找出那些希望誰經歷過這些技術的一種或多種實施方式的利弊的人必須在這個問題上發表意見;或者石頭方便蝕刻的最佳實踐會做:)
-Nomad311
感謝您的提示,在休息時間我會檢查出來並閱讀Hibernate。我很高興我沒有花時間在我的數據層上......它會吸引實施這些解決方案之一,發現它與Hibernate或其他任何持久性框架不兼容! – LostNomad311 2009-12-16 03:50:52