总的来说,Hibernate比较大,但是对象关系映射可以不需要写太多的SQL语句就可以构建项目,而且通过一些eclipse插件可以快速的开发项目,劣势就是不够灵活,对于多表关系的处理没有单表那么方便。
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有6个,分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration。
总的来说,Hibernate比较大,但是对象关系映射可以使你不需要写太多的SQL语句就可以构建项目,而且通过一些eclipse插件可以快速的开发项目,劣势就是不够灵活,对于多表关系的处理没有单表那么方便。
参考:http://ssnlove2008.blog.163.com/blog/static/378894202011714394241/
只要是使用数据库的项目Hibernate都适用。
Hibernate框架基本上适用于所有项目,其优点在于hibernate对表的级联操作,如何你操作一条数据对很多表的数据都有影响,hibernate的级联会自动帮你维护表里面的数据,前提是要配置级联选项。
其二优点在于hibernate跨数据库,我想只要是程序员,都希望自己的项目开发后适用于所有的数据库,不只是针对某一种数据库,如果单纯的用jdbc去操作数据库,那么就必须编写sql语句,不同的数据库的sql语句稍微有差距,那么项目肯定是针对某个数据库进行开发。要想hibernate的项目实用所有数据,前提是不要使用hibernate的纯sql查询。
一般大项目都是对性能要求很高,也就是并发量很大,整个项目的性能瓶颈都压在了数据库上,sql语句的好坏直接影响性能,如果不精通hibernate的查询语句和hibernate管理的对象的状态的区别就不要使用hibernate。什么是精通hibernate ,你懂的。
个人觉得没有太多的优劣只有你对这些几个框架了解程度深不深。很多大企业都是混合用的。因为根据业务逻辑需求不同 有时候用hibernate好有时候用iBatis好。但最大的区别是hibernate不用手写查询语句,但得严谨管理事务控制它 不然hibernate查询的持久化对象会占用很多缓存,直到事务提交后才被删除,但用iBatis等用手写的sql语句查询出的不是持久化对象,不会占用session缓存。
简单的说是实用于中小型项目,毕竟Hibernate还不成熟。
再看看别人怎么说的。
适用于中小型项目,但是数据了比较庞大的话,游戏需要一次性处理大量数据的时候不适合。Hibernate不用说了ORM的典型代表,主要功能就是对数据进行持久化,虽然SUN的标准是JDO,但是Hibernate确是使用最广泛的。优点是:在Java里面,我们可以直接通过JDBC来访问数据库,而且运行效率高,但是却要在Java代码中嵌套大量的SQL语句,使后期的维护困难,而Hibernate对JDBC进行的轻量级的封装,使用方便简单,并且支持多种WEB服务器和数据库,可用于Java项目或WEB项目。
还有,hibernate和jdbc比起来,速度慢了很多,用的内存多了很多
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....