hibernate 读取mysql表结构_为什么要用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工具,
hibernate 读取mysql表结构_为什么要用hibernate 与基于数据库表结构的项目开发相关推荐
- pandas转mysql特定列_在pandas.DataFrame.to_sql时指定数据库表的列类型
问题 在数据分析并存储到数据库时,Python的Pandas包提供了to_sql 方法使存储的过程更为便捷,但如果在使用to_sql方法前不在数据库建好相对应的表,to_sql则会默认为你创建一个新表 ...
- mysql群发消息_分享网站群发站内信数据库表设计
本文和大家分享一下网站站内信实现表设计的功能.需要的朋友可以参考下. "站内信"不同于电子邮件,电子邮件通过专门的邮件服务器发送.保存.而"站内信"是系统内的消 ...
- expdp导出表结构_超强技术案例!86万张表迁移的优化历程
本文转载自:华为云社区 86万张表迁移的优化历程问题背景:2019年12月份的时候DRS项目组接到了一个线上问题:XX客户将mysql数据库从友商迁移至华为云的时候性能很慢,而且出现报错.运维同学定位 ...
- mysql 红黑树_微信大牛教你深入了解数据库索引
| 作者刘国斌,腾讯微信事业群研发工程师,目前从事企业微信的后台研发工作,已经参与企业微信消息系统.群聊.客户联系等企业微信多个核心功能的迭代. 数据库查询是数据库的最主要功能之一. 我们都希望查询数 ...
- excel数据表单_新的改进的Excel数据输入表单
excel数据表单 Many moons ago, Dave Peterson created a sample Excel worksheet data entry form and kindly ...
- java项目_好程序员Java分享从入门到服务端项目开发的过程
好程序员Java分享从入门到服务端项目开发的过程,对于打算入门或者刚刚入门学习Java的人来说,刚开始接触这门学科,往往会觉得不知所措,也会觉得很迷茫.结合前人经验,就从入门到进阶对于Java的学习而 ...
- oracle数据库表excel文件位置,Excel数据导入到oracle数据库表方法
最近工作中碰到excel文件数据导入oracle数据库表中的技术问题.以前未处理过,决定利用这次机会,好好研究研究. 可先建一临时表,字段和要导入的Excel表的列一致 运行以下SQL语句,使临时表可 ...
- 结构光系统标定(四)基于双目视觉的结构光系统标定
上一篇文章讲了基于多项式拟合的结构光系统标定,实际上就是将一系列待测的长度值,隐式地表达在一个多项式里面,通过拟合的方式去求出从相位计算三维坐标所需的参数.当然,这个名字是我自己取的,不一定准确. 这 ...
- 用程序同步mysql数据库表_初次用Java写了个数据库表同步工具
介绍 java 程序编写,真正跨平台. 传入一定的参数,即可在相同或不同的数据库间进行表的同步,包括表结构的同步及数据的同步.作业由调度工具进行调度,比如 moia,本项目旨在提供一种数据库间表同步的 ...
最新文章
- 脑与认知科学2 脑神经电生理学上
- [C#] 简单的 Helper 封装 -- RegularExpressionHelper
- Java开发必须掌握的5种加密策略
- [html] http中的301、302、307、308有什么区别?
- 腾讯技术分享:Android版手机QQ的缓存监控与优化实践
- 记一次edusrc实战cookie伪造
- vivo oppo 相机权限处理
- 电容器指南(一)-基本性能介绍
- (素材源码)猫猫学IOS(十九)UI之QQ好友列表
- 《CISCO交换机常用命令》——【思科交换机配置及维护技能】
- pkg-config
- html: a标签中的href的作用
- android微信照片,一张能让安卓版微信崩溃的图片
- vue三级路由router-view不显示问题,路由嵌套不显示
- 数据可视化之关联分析
- DirectX12(D3D12)基础教程(三)——使用独立堆以“定位方式”创建资源、创建动态采样器、初步理解采取器类型
- 西安电子科技大学计算机科学与技术排名,西安电子科技大学双一流学科名单2个...
- 猴子都能学会的C语言教程
- 地图相关(二)---绘制中国地图
- 知乎下拉刷新SwipeRefreshLayout下拉刷新用法类似知乎下拉刷新
热门文章
- 算法的基本控制结构之选择结构
- IPV6 Socket编程
- sa密码不满足强密码要求_恢复丢失的SA密码
- 透明加密tde_如何在SQL Server中监视和管理透明数据加密(TDE)
- 使用“ Row_Number”功能和WHILE循环创建滚动平均值报告
- 在AWS RDS SQL Server中恢复数据
- sql truncate_SQL Truncate和SQL Delete语句的内部
- 使用tSQLt创建SQL单元测试实用程序过程
- Entity Framework 实体框架的形成之旅--利用Unity对象依赖注入优化实体框架(2)
- 算法(第四版)C# 习题题解——1.2