初学者求教:关系VO设计时的问题,只存编号还是名称也存?

/etc/fstab 2010-11-27 04:13:59
初学者求教:
我在做一个信息管理系统的原型,目前是用JSP+Servlet+javaBean这种最简单的模式去做。
也就是VO+DAO+Servlet+JSP这样的模式.
(请各位先不要谈这些技术之外的东西,例如SSH等等)

对于一个实体,设置获得其属性都没有问题。

现在遇到这样一个问题:
对于一个关系,在数据库的表中,都是存储它关联的实体对象的主键,
展现给用户的时候显然都是要显示实体的名称而不是主键(编号)。

我设计一个VO的时候,它所具有的属性是照着数据库里面的写一遍呢,
还是也附加上该VO所联系的其他实体的名称?

初做这类东西,没有经验,不知道怎么做会让系统效率高一点、开发效率高一点。


举例来说:
库存里面的一个 存储项,它对应:
主键 存储序列号
产品:用产品编号表示
供应商:用供应商编号表示
采购员:用雇员工号表示
所在仓库:用仓库编号表示

那么我这个VO是只存储各种编号就好呢还是把对应的品名、供应商名、采购员姓名、仓库名称也都存进去呢?


如果只存编号,将来在前台做浏览查询的时候的工作量蛮大,每一项都要做多次查询,而且要写在不相关的JSP页面中,维护麻烦,效率有损失。


如果写SQL的时候就写成JOIN查询,效率相对而言略有上升,但是VO看起来会比较复杂,也担心设计的时候不能保证同一个项目上的编号和名称的统一,例如存储仓库的仓库编号改掉了,VO的仓库名属性值却还没改掉。。。


初学者求教,请指导!
这虽是一个小小的系统,但我准备不断拓展\重构,做成一个小具规模的系统,所以还要充分考虑后续的扩充与维护.



...全文
44 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Arvin_Rong 2010-11-29
  • 打赏
  • 举报
回复
在项目里一般写VO的时候都是把所有用到的字段都设计为VO的属性,VO不是实体BEAN,一般都对应一些连接查询后的结果集中的字段。你的例子来说就是VO中既有编码也有对应的名称。
/etc/fstab 2010-11-27
  • 打赏
  • 举报
回复
给自己顶一下~
高手进来回答啊!

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧