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


...全文
382 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
Get started with the Hibernate 5 persistence layer and gain a clear introduction to the current standard for object-relational persistence in Java. This updated edition includes the new Hibernate 5.0 framework as well as coverage of NoSQL, MongoDB, and other related technologies, ranging from applications to big data. Beginning Hibernate is ideal if you’re experienced in Java with databases (the traditional, or connected, approach), but new to open-source, lightweight Hibernate. The book keeps its focus on Hibernate without wasting time on nonessential third-party tools, so you’ll be able to immediately start building transaction-based engines and applications. Experienced authors Joseph Ottinger with Dave Minter and Jeff Linwood provide more in-depth examples than any other book for Hibernate beginners. They present their material in a lively, example-based manner―not a dry, theoretical, hard-to-read fashion. What You'll Learn Build enterprise Java-based transaction-type applications that access complex data with Hibernate Work with Hibernate 5 using a present-day build process Use Java 8 features with Hibernate Integrate into the persistence life cycle Map using Java’s annotations Search and query with the new version of Hibernate Integrate with MongoDB using NoSQL Keep track of versioned data with Hibernate Envers Who This Book Is For Experienced Java developers interested in learning how to use and apply object-relational persistence in Java and who are new to the Hibernate persistence framework.

67,538

社区成员

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

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