可能是一个简单的(读愚蠢)问题。我正处于Web应用程序的设计阶段 - 标准Spring MVC并计划使用Spring DAO支持(jdbctemplate - 没有hibernate& no ibatis等)。
我目前正在为RDBMS建模我的数据对象。数据类型的最佳实践是什么?假设我的表的主键是Numeric - 我是否在我的对象中将其建模为Long或long?一个人的问题/优势是什么?
大师?
答案 0 :(得分:2)
Long可以为空。因此,具有null id(在Java中)的对象可以表示尚未(仍)持久化的对象。您可以明确地将Hibernate配置为以这种方式处理它,如果您不使用Hibernate,那么为DAO方法提供一种查找特定对象是否已存在于数据库中的方法仍然是一种很好的做法。
答案 1 :(得分:0)
我更喜欢具有Serializable(可比较,可克隆等)的类型“Identity”,并且使用哪种String表示,例如构建URL。只有DAO实现知道它的确切类型。它可以是Long,也可以是组合的主键。在数据访问层之上,应用程序仅处理身份。
如果标识为null,则不保留对象(没有通过持久性存储分配的标识)。