社区
Java EE
帖子详情
在学习hibernate中对hibernate的一点疑问
butterwx
2006-06-07 10:18:53
我原来 是作 c/s 结构的程序开发 现在学习 b/s 结构程序开发但是学习中hibernate产生一点疑问,为什么在连接和使用数据库时,不直接连接数据库和不直接使用使用sql 语句,而是要进行数据映射呢?这样如果对某一个对象增加一个属性的时候和需要改变映射关系的时候,需要修改地方就太多了,并没有直接连接数据库和直接使用使用sql 语句那样方便.....hibernate 的优点到底是什么呢?
希望各位朋友解决我心中的疑惑...谢谢
...全文
467
19
打赏
收藏
在学习hibernate中对hibernate的一点疑问
我原来 是作 c/s 结构的程序开发 现在学习 b/s 结构程序开发但是学习中hibernate产生一点疑问,为什么在连接和使用数据库时,不直接连接数据库和不直接使用使用sql 语句,而是要进行数据映射呢?这样如果对某一个对象增加一个属性的时候和需要改变映射关系的时候,需要修改地方就太多了,并没有直接连接数据库和直接使用使用sql 语句那样方便.....hibernate 的优点到底是什么呢? 希望各位朋友解决我心中的疑惑...谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
胡立新(原名:新坐标)
2006-06-17
打赏
举报
回复
struts+newxy是struts+hibernate的替代方案 http://www.newxy.net
didoleo
2006-06-17
打赏
举报
回复
"如果 能把name,age,gender 字段的内容 可放进可索引的一个数据结构(如list,collection)中进行操作 绕开hibernate 又有什么不可以呢!"
上面这句话在有些场景似乎有点道理,比如说当你一句sql返回的不是某一个表的字段,是多个表的字段,那将没有一个hibernate的pojo与之对应。这个时候你可以考虑用你自己的数据结构来封装记录。
但不是所有的场景都要这样,hiberbate会给你带来很多方便,否则没人会用他。
racke
2006-06-16
打赏
举报
回复
这个不符合面向对象的规则, hibernate 是基于O(object)/R(relationship)的,你完全可以写一些逻辑做到这点。完全没必要绕过这步。
butterwx
2006-06-16
打赏
举报
回复
对 ...楼上说得很对...我就是想这样作....
racke
2006-06-16
打赏
举报
回复
如果简单的话一句 sql + JDBC 搞定。不要用hibernate,如果表和表的关系没那么复杂,对持久层的要求没那么高的话不需要hibernate
butterwx
2006-06-16
打赏
举报
回复
如果 能把name,age,gender 字段的内容 可放进可索引的一个数据结构(如list,collection)中进行操作 绕开hibernate 又有什么不可以呢!
butterwx
2006-06-15
打赏
举报
回复
racke()
楼主什么叫 '附加对象类'
附加对象类 ,我的意思是 比如 list 或 collection 使用add(int index, Object element)时
element 为class也就是
public CLASS element{
PRIVATE ......
PUBLIC SET....(){
}
PUBLIC GET.....(){
}
这样的类
而不能 直接
add(数据项,key )呢.....
必须用类转一下?
zeq258
2006-06-15
打赏
举报
回复
这个问题,不好回答!
如果楼主对面向对象有了比较深的认识,
那么,你就会习惯于面向对象的操作,那么你的持久化就是保存对象,而不是执行 sql 语句。
但是,这不是 hibernate 的全部好处,
既然它是面向对象的,那么 POJO 就可以继承 其他的类。
继而显示面向对象的其他的好处。
等等。。。。。。
http://www.huihoo.com/framework/hibernate/reference-v3_zh-cn/
racke
2006-06-15
打赏
举报
回复
你是指
public CLASS element{
PRIVATE ......
PUBLIC SET....(){
}
PUBLIC GET.....(){
}
为附加类?举个例子
select s.name, s.age, s.gender from student.s.
你是不想创建
class Student{
String name;
int age;
...
}
而直接把所有的name,age,gender分别放在数据结构中?
racke
2006-06-14
打赏
举报
回复
楼主什么叫 '附加对象类'
butterwx
2006-06-13
打赏
举报
回复
racke 建议看的书 我已经看了...
本人十分感谢 racke kill8108 的帮助 .....我以前的想法错了.
但是本人还是有一点疑问 就是用jdbc 提取 数据 并将数据 放进 list 或 collection 中 必须要附加对象类吗.不附加对象类可不可以放在其他的数据类型中呢?
racke
2006-06-08
打赏
举报
回复
楼主可以试一下,如果表与表之间关系很多,很复杂,是不是手工写sql语句很复杂很容易出错?比如删除category 还要删除下面的所有items如果有继承关系sql就更复杂了。
通过映射,这些关系通过映射表,hibernate 就可以动态生成sql语句。
这只是hibernate 的一个优点,其实更大的好处是有了session 和 sessionfactory这两个缓存。减轻了和数据库通讯的负担,提升了性能。建议楼主看一下<深入浅出hibernate>.
butterwx
2006-06-08
打赏
举报
回复
不行 ...沉下去 了 还得顶起来....
要是 能解开我心中的疑惑 ...再加分 也是可以的....
kill8108
2006-06-07
打赏
举报
回复
我个人的一些想法,用hibernate映射可以认为封装成对象,用其可以少写一些sql语句,开发速度会快点,但若在数据量大的时候,速度并不比jdbc快,因为它会多了一步映身的查找!
望大家继续.....
javalin3012
2006-06-07
打赏
举报
回复
顶
yyjzsl
2006-06-07
打赏
举报
回复
关注学习下
顶
butterwx
2006-06-07
打赏
举报
回复
但是用 sql 语句 快呀.......
只要做好一个 和数据库连接的类,那就可以在整个工程随时调用..怎么开发速度和慢呢...而且减少了很多'对象-关系' 的设置这样如果映射 关系发生改变能够更灵活的修改...
zling1981
2006-06-07
打赏
举报
回复
减少sql语句是一个优点,但不是最重要的,最重要的是实现了对象-关系的映射
MATLAB风力涡轮机雷达信号仿真+数据+文章
内容概要:本文系统介绍了基于MATLAB平台的风力涡轮机雷达信号仿真研究,涵盖完整的仿真代码、实测数据及配套学术文章,重点实现雷达信号处理、风力涡轮机回波建模、微动特征提取与时频分析等核心技术。通过高精度模拟风机叶片旋转引起的调制效应与雷达散射截面变化,深入揭示风力发电场对周边雷达系统造成的电磁干扰机制,为雷达杂波抑制、目标检测优化及空域兼容性设计提供理论支撑与技术验证平台。资源内容还可拓展应用于无人机路径规划、电动汽车调度、电力系统优化等交叉领域,展现MATLAB在复杂系统仿真
中
的强大集成能力。; 适合人群:具备MATLAB编程基础与雷达信号处理知识的科研人员,适用于从事新能源并网影响评估、雷达系统设计、电磁兼容分析、智能电网或远程 sensing 领域研究的研究生、工程师及高校教师; 使用场景及目标:①开展风电场对空
中
监视雷达干扰效应的仿真评估;②研究风电杂波的时频特性与微多普勒特征建模方法;③开发针对非合作目标干扰的雷达抗干扰算法与信号分离技术;④作为科研项目申报、论文复现或工程预研的技术原型工具包; 阅读建议:建议结合百度网盘提供的完整资料包(含代码、数据集与参考文献)同步
学习
,优先运行示例脚本以掌握仿真流程,再根据具体研究需求调整系统参数进行扩展实验,同时可借鉴文
中
提到的其他MATLAB仿真案例以提升研究深度与广度。
SQL 语句优化实战内容
每个知识点都包含 低效写法和 优化写法的对比,可直接在 MySQL 8.0+ 上运行验证。
欧陆3500系列仪表通讯协议说明
已经博主授权,源码转载自 https://pan.quark.cn/s/a4b39357ea24 OmronFinsTCP.Net 欧姆龙以太网FINS协议的C#通讯库 http://www.ihomesoft.net/490.html
惠普 CP4525dn 彩色激光打印机翻译
中
文维修手册.zip
惠普 CP4525dn 彩色激光打印机翻译
中
文维修手册.zip
伺服电机正反转自运行触摸屏程序
伺服电机正反转自运行触摸屏程序
Java EE
67,536
社区成员
225,852
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章