• 为什么要用hibernate 与基于数据库表结构的项目开发


    最近开始学习hibernate,其实并不知道要学习什么,有什么用.后来问了一下同事,他就说快捷方便简单,很多事情不用自己做他会帮你做好,但是我觉得不应该是这样的,
    于是我就去搜了一下,就搜到了一篇帖子,里面讲的一些情况我还是赞同的.比如hibernate可以解决对象和关系的映射问题.这个问题在我的项目中也出现了,比如我
    建了一个父版块表,一个子版块表,子版块和父版块的关系是多对一的关系,按照关系型数据库的,那么我会在子版块的表中加入一个父版块的Id,然后我会在java的实体类中建立一个子版块和父版块
    的实体类,但是当查询子板块且需要显示他的父版块的名字时,我会在子板块的实体类中加入fatherModuleName这个字段,如果后期要要显示这个子版块的版主,那么我会在子板块中加入了userName
    这个字段,这样子版块这个类中已经多了两个字段了已经'破坏了面向对象'的完整了,这就是我所遇到的对象关系映射问题.下面附了这个帖子的链接
    http://zhidao.baidu.com/question/1829907591248169420?sharesource


    ==New Start=================================================================================================================================================

    基于数据库表结构的项目开发,自从认真的学习hibernate 我就开始注意这个问题了,实际开发情况和书上讲的不一样,
    书上讲了类图,流程图还有其他一些名字很专业的图,但是我们实际开发呢
    第一步:分析需求
    第二步:建立数据库表
    第三步:开始开发
    1.根据数据库表建立一个实体类
    2.MVC三层开始布局
    3.前端
    4,优化
    第四步:自测,大家一起测,一般没有专业测试(原因不是主题所以不说)
    第五步:至此,我们的开发主体完成
    总结来说,我们不是根据什么图来开发的而是基于数据库表来开发的,
    数据库里面有什么字段,实体类中就用某一个字段,如果数据库表里面加了字段,那么实体类也要添加一个字段.
    如果连个表关联时,我和同事的做法都是在一个表里添加这些重复的字段,只为拼凑这个关联之后的虚拟表的全部字段,
    但是,当你注意时问题就来了,举个例子来说明
    学生表,学生id,学号,姓名,性别,专业,
    课程表:课程id,课程名,课程成绩,学生Id
    当只显示学生或者只显示课程时实体类就表达的很完美,但是如果两个表被关联起来我们的做法就破坏了实体类的.
    因为暂时没有更好的办法解决这种问题,开始学习hibernate,才知道这个是对象关系映射的问题.
    如果有更好的办法,欢迎留言,PS:我的项目用的是Spring的jdbcTemplate工具,

  • 相关阅读:
    每天一个linux命令(8):scp使用
    C++11 列表初始化
    国外程序员整理的C++资源大全
    fiddler4 使用教程
    C++11 右值引用和转移语义
    数据库炸了——是谁动了我的wait_timeout
    Go组件学习——gorm四步带你搞定DB增删改查
    Go组件学习——cron定时器
    Go语言学习——channel的死锁其实没那么复杂
    Go语言学习——彻底弄懂return和defer的微妙关系
  • 原文地址:https://www.cnblogs.com/rocky-AGE-24/p/5499230.html
Copyright © 2020-2023  润新知