码迷,mamicode.com
首页 > 编程语言 > 详细

【Java EE 学习第69天】【数据采集系统第一天】【实体类分析和Base类书写】

时间:2015-12-16 10:49:38      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:

之前SSH框架已经搭建完毕,现在进行实体类的分析和Base类的书写。Base类是抽象类,专门用于继承。

一、实体类关系分析

  既然是数据采集系统,首先调查实体(Survey)是一定要有的,一个调查有多个页面(Page),一个页面有多个问题(Question),所以还要有页面和问题实体。参与完成调查之后一定还会生成若干个答案,所以还有答案实体(Answer),当然还有参与的用户(User),管理员是特殊的User,只需要登陆的时候进行判断即可。

  分析实体类型是比较简单的,最重要的是设计,怎样设计才能满足调查中所需要的各种字段要求?各个实体之间是否有关系,如果有关系是否需要做双向关联(hibernate配置文件中声明)?。

  首先从User实体开始分析,一个用户可以参与多个调查,一个调查可以被多个用户参与,所以User和Survey实体之间是典型的多对多关系。既然有有关系了,那么是否需要做双向关联?我们经常做的是根据User对象拿到该User对象拥有的所有Survey,我们基本上不会用到根据Survey对象取得User对象,所以我们只需要做User到Survey的多对多映射关系即可,这么做也是为了减小Session的存储压力,毕竟如果全部做双向关联,登陆之后将User保存到Session,好像只是保存了User对象,实际上隐式的保存了所有的调查。

  Survey实体和Page以及User均有关系,但是不做到User的多对多关系的映射。Survey和Page之间是一对多的关系,一个页面只能出现在一个Survey中,但是一个Survey中能够有多个Page。既然两者有关系,是需要做两者的双向关联关系还是单向关联关系?我们会根据Survey对象获取该对象的所有Page,也会根据该Page获取该页面属于哪一个Survey对象,所以我们需要做双向关联关系,即做Survey到Page的一对多映射和做Page到Survey的多对一映射。

  Page实体和Question同理,我们需要做Page到Quesiton的一对多映射,也需要做Question到Page的多对一映射。

  Answer实体暂时不作考虑。

二、实体属性分析

  1.

【Java EE 学习第69天】【数据采集系统第一天】【实体类分析和Base类书写】

标签:

原文地址:http://www.cnblogs.com/kuangdaoyizhimei/p/5050368.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!