新手问题:为什么要用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.采用配置为主的框架后,出现问题往往不是在代码中,而是在配制文件中。很可能因为小的疏忽出错而这种错误的查找目前好像没有什么好的机制吧?
这是目前的一些迷惑。请各路高人解答。谢谢。
也欢迎讨论。
答案最好是经验之谈,不要是网上可以搜索到的,或者是人云亦云的。呵呵。:)


...全文
326 8 点赞 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
小粘人 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
  • 打赏
  • 举报
回复
相关推荐
发帖
Java EE
加入

6.7w+

社区成员

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
申请成为版主
帖子事件
创建了帖子
2006-04-23 01:19
社区公告
暂无公告