新手问题:为什么要用hibernate?

FrozenTree 2006-04-23 01:19:24
hibernate是目前最流行的持久层框架了。我有几个疑问。望老手,高手解惑
1.用hibernate的实质好处在哪里?
2.用hiernate可以不用写SQL,但是要写HQL,这样的话,学习成本可能要增加,而不是减少。
3.对于一个大型项目来说,SQL文再转成HQL,成本也不小。
4.如果程序中掺杂SQL,可读性不好,但如果掺杂入过长的HQL的话,可读性也不一定高?
5.如果只是考虑数据库无关的特性,但目前来说,数据库一般变化的可能性不是很大,特别是中小项目。大型项目而又往往会用到某种数据库,如oracle的某些特性来做到功能上的提升,这样在hiernate中如何实现?如果实现了,必然通用性大打折扣。
6.如果用annotation的话,有部分地方可能就成了硬编码。
7.采用配置为主的框架后,出现问题往往不是在代码中,而是在配制文件中。很可能因为小的疏忽出错而这种错误的查找目前好像没有什么好的机制吧?
这是目前的一些迷惑。请各路高人解答。谢谢。
也欢迎讨论。
答案最好是经验之谈,不要是网上可以搜索到的,或者是人云亦云的。呵呵。:)


...全文
393 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
小粘人 2006-04-26
  • 打赏
  • 举报
回复
MARK
kukuxiaolang 2006-04-26
  • 打赏
  • 举报
回复
MARK
flywithmoon 2006-04-25
  • 打赏
  • 举报
回复
hibernate只是一个中间件,并不是必不可少的东西,你那些以前的项目完全不必要再改写成使用hibernate的,除非你们的老板强烈要求这么做。另外作为持久层技术,它并不是只能和关系型数据库打交道的,应该是任何的存储介质(包括excel,xml,内存)都可以映射到java对象,而jdbc只能和数据库打交道了。还有就是hibernate已经包装了事务处理,不需要jdbc一样另外的处理事务。我个人感觉另一个很大的优势就是分页处理,要知道hibernate本身就支持分页的,这一点在做web应用的时候太重要了。完全不用像处理jdbc那样还要设置游标处理分页,极大地方便了开发。至于说配置文件的错误,那个一般情况下感觉就是一个习惯,经验多了自然一下子就可以找到错误原因的。况且一般情况下代码复用会得到很大的提升(就是拷贝了^_^),出错的机会也不是很大。一家之言,不足为凭。
aChinese 2006-04-25
  • 打赏
  • 举报
回复
你SQL很牛,当然可以直接写出效率很高的SQL。但不是每个人都行,hibernate适用于 8/2原理, 20%的工夫解决80%的问题。
写Hibernate推荐用Criteria, 可以避免写HQL和SQL, 写这东西很容易出错。 用Criteria我觉得重构也容易
qiwancha 2006-04-25
  • 打赏
  • 举报
回复
一个不错的中间件
dekkerhyp411 2006-04-24
  • 打赏
  • 举报
回复
MARK
etienne 2006-04-23
  • 打赏
  • 举报
回复
也不一定用hiber的,如果你们公司的架构很牛。。

其实也很简单,面向对象,事务.......

你还是自己使用吧,使用一下就就知道了。。不然你用什么?自己写框架?还是直接JDBC?
ccw1004 2006-04-23
  • 打赏
  • 举报
回复
潜力帖 MARK
随着元宇宙概念兴起与虚拟数字人技术快速发展,虚拟主播、在线教育虚拟助教、元宇宙社交等应用场景对实时动作表情驱动系统提出更高需求。当前主流动作捕捉方案多依赖专业光学动捕设备或深度相机,设备成本高昂、部署复杂,难以在普通用户场景普及。本研究设计并实现一套基于普通单目摄像头的虚拟数字人实时动作表情驱动系统,旨在降低数字人内容生产门槛。系统采用Unity作为主开发引擎,结合Blender进行数字人模型构建与BlendShape表情系统制作,使用MediaPipe框架实现人脸关键点检测与人体姿态估计,通过C#脚本完成实时数据处理与渲染控制。系统包含五个关键模块:人脸关键点检测(MediaPipe Face Mesh提取468个关键点)、人体姿态估计(MediaPipe Pose识别33个骨骼关键点)、表情迁移映射、动作平滑优化(卡尔曼滤波与贝塞尔曲线插值消除抖动)、实时渲染(60fps流畅渲染,支持直播推流与视频录制)。实验结果表明,系统在普通笔记本上可实现60fps实时驱动,人脸关键点检测准确率达98.7%,人体姿态估计平均误差小于5像素,表情迁移相似度达92.3%。 【课程报告内容】 摘要 第1章 绪论 第2章 相关技术与理论基础 第3章 系统架构设计 第4章 关键模块设计与实现 第5章 实验与结果分析 第6章 总结与展望 参考文献

67,535

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧