日期:2014-05-20  浏览次数:20603 次

高手请进,大家来讨论一下hibernate关系映射的优缺点
大家都知道hibernate的关系映射操作很烦。这周在做项目时,突发奇想,一定要用hibernate的关系映射吗?用了有什么好处了,不用又有什么好处了,这些好处是相对什么来讲的了,是小项目,还是大的项目,还是针对我们的思想来讲,还是针对实用了?
  请大家一起来说说!

------解决方案--------------------
个人觉得,Hibernate是很强大的。但是只用在做客户需求方向,如果要做自己的平台,产品,还是用Ibatis
另外 Hibernate查询速度方面,不是很好,优化不够。。。。
------解决方案--------------------
我觉得Hibernate是不错的,映射操作应该是Hibernate的基础,因为我觉得Hibernate出来不是为了让我们从数据库反过来写Hibernate,而是用面向对象的方法来分析系统,得出实体,分析出关系,写出Hibernate配置(相当于原来的设计数据库)这样下来就相当与隔离了数据库,也达到了我们的目的,我们始终做的只有一个:原来是设计数据库、表、表的关联;现在是配置Hibernate。只是思想上的改变而已,原来是要考虑数据如何存贮,现在解放了,要考虑的是系统如何设计对象及其关系能方便系统、优化系统,没必要考虑数据如何存贮。。。以上是我的一点小小理解,望指教!
------解决方案--------------------
我在这两年左右3个软件开发里用到了iBatis和Hibernate,其他的还有像OJB这种过时的技术就不谈了。个人认为iBatis和Hibernate各有长处,主要看你在开发时的选择。我并没有感觉Hibernate的速度是个问题,在百万记录的表格Join查询中只要把表格的index做好,速度很快。从开发的角度来讲,Hibernate更加专注于面向对象,而iBatis是对象和数据库兼顾,如此说来,在开发时,Hibernate能提高开发者的工作效率。根据我的使用经验,iBatis比Hibernate更灵活,用户可以进行的操作和控制更多些,但Hibernate功能强大,基本能满足用户需求,所以想灵活,想对数据库控制多一些的话,选iBatis,但从开始到整个数据库和对象建好需要点时间, 如果要快速开发,或者是其他所有的情况,选Hibernate。 个人的一些愚见,大家指教。
------解决方案--------------------
在开发是关系映射可以用也可以不用,我就见过只是映射对象,而不映射关系所有的关系由程序来维护
------解决方案--------------------
我觉得开源的框架都是考虑了可读性,可维护性和可移植性,效率是最大的障碍,Hibernate也不例外
------解决方案--------------------
2楼和4楼的说的不错,个人再补充一点,hibernate的速度并不慢,我不同意它性能和速度上有问题,它的优化可是说做的不错了....
再有,ibatis不是纯粹的ORM,它不能称得上是面象对像的.