永发信息网

使用hibernate却完全不使用表关联查询,这是基于什么原因考虑

答案:2  悬赏:60  手机版
解决时间 2021-03-31 07:23
使用hibernate却完全不使用表关联查询,这是基于什么原因考虑
最佳答案
实际项目开发时,选择一个工具,有如下考量:

是否能够解决实际问题;对于 Hibernate 来说,完成实体和表之间的映射,是其主要功能,其他功能都可以按需选择,并不是说,这个工具有什么功能,就都必须用上,工具的使用向来都是跟着问题走的。
时间成本;面对紧张的时间安排,如果项目组所有成员都要学习 Hibernate 到精通,显然是很浪费时间的,而且 Hibernate 也不是看看视频看看书就可以看到实际运用场景的,实际开发中,很多使用 Hibernate 一两年的人也不是很清楚该怎么使用它提供的高级功能,也没时间和心思去翻官方 manual,那么,大家就会想:这个工具大家都不是很熟练,也没有十足的把握用好,那就只能把它最基本的功能用好算了,也就是,撇开那些高级特性,先用基本功能把活干了再说。
性能;Hibernate 的性能一直饱受诟病,通用工具都难免此类问题,实体加的关联多了,数据加载的就慢,再者,Hibernate 最擅长的并非查询,而是写操作,毕竟是全字段查询,相对来说,JdbcTemplate 就可以指定查询具体哪些字段,自己指定的关联查询 SQL 也比 Hibernate 生成的 SQL 高效简洁,让 JdbcTemplate 负责查询,Hibernate 负责写入,是个不错的搭配。
可维护性;实体关联需要维护,还得控制数据的加载时机(懒加载)、单/双向关系、级联以及抓取策略等,稍微配置不当,就会出现异常,这样的话,与其使用高级功能带来这么多问题,索性干脆不用,省得以后麻烦。
依赖性;项目开发要以数据为核心,数据库修改要灵活轻便,而不依赖于上层工具(如 Hibernate),如果实体添加了太多关联,日后使用其他映射工具或者修改数据库,这些实体就出现问题了,需要对应的修改,毕竟,不是所有工具都像 Hibernate 一样站在对象的角度思考问题的,例如:JOOQ 就提倡 SQL 的使用,反对所有操作都使用 ORM。
全部回答
熟悉Hibernate就用Hibernate吧,可以用HQL实现内连接、外连接的,同时也可以锻炼锻炼HQL的运用,如果实现效率低的话,可再数据库表中做下简单的字段冗余,那这样就用不到连接查询。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
3680c的胸有多大
微信如果不设置微信号会怎么样?(比如系统随
怎样背人?要准确的姿势,最好有受力分析图
我把自己的前途给毁了,我活不下去了该怎么办
景甜被潜规则了吗?
三星电脑u盘启动,如何设置,如下图怎么设置
东坡肉的热量是多少?
怎么呀!打匹配不给加
一步单车创始人是谁
go straight on与go straight down有区别吗?
库卡KUKA KRC4机器人在调试的时候出现:“该
棱长均为a的正方体摆成如图的形状,问:①有_
台式电脑要那种音响有酒吧里的效果
TF300T可以装windows8系统吗
超市四个鸡蛋多少钱
推荐资讯
衣服上标的185/100A后面的100A具体指的是
怎样做拔丝香蕉才能脆软香甜
我是成年人,可也好想去烂苹果乐园玩儿啊,里
一张白纸上写着一个冤,打一成语
为什么在淘艺宝上买东西觉得不划算呢
谁用过歌蒂思的护肤产品,效果怎么样?有没有
机械专业本科生,去美的有前途么
帮找10个杭州花中"儿"字在中间的词语,比如孩
黄海金马754-b后桥液压缸密封圈多少钱
推荐一些文笔好的小说
学盲人算命起八字
如何看待宇视科技这几年的发展
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?