2009-11-17 30 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或它可能是一个组合的主键。在数据访问层之上,应用程序只处理身份。

如果标识为空,则该对象不会持久(没有通过持久性存储分配标识)。