2009-11-17 37 views
0

可能是一個簡單的(讀啞)問題。我正處於一個Web應用程序的設計階段 - 標準的Spring MVC和規劃使用Spring DAO支持(jdbctemplate - 沒有休眠&沒有ibatis等)。Java域對象

我目前正在爲RDBMS建模我的數據對象。數據類型的最佳做法是什麼?比方說,我的表的主鍵是數字 - 我是在我的對象模型長或長嗎?任何問題/優勢都超過了另一個?

大師?

回答

2

長是可空的。因此,具有空id的對象(以Java表示)可以代表尚未保存的對象。你可以明確地配置Hibernate以這種方式對待它,如果你不使用Hibernate,那麼給DAO方法一個找出某個特定對象是否已經存在於數據庫中的方法仍然是一個好習慣。

+0

+1總的來說,我總是傾向於使用像Boolean,Long等域對象的包裝類。當其中一個後來變爲空時,它更容易重構。 – NickDK 2009-11-17 15:27:23

+0

不錯!這是我相信的缺失觀點。感謝你們!我有點錯過了這個推理。 – AAK 2009-11-17 15:50:35

0

我更喜歡使用Serializable類型(「可比較」,「可Clonable」等)的「Identity」類型,以及使用哪種字符串表示形式。構建網址。只有DAO實現知道它是哪一種確切類型。它可能是Long或它可能是一個組合的主鍵。在數據訪問層之上,應用程序只處理身份。

如果標識爲空,則該對象不會持久(沒有通過持久性存儲分配標識)。