为什么有一些大型项目不使用Hibernate框架 我的感觉,hibernate和jdbc比起来,速度慢了很多,用的内存多了很多 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 虽说Hibernate比JDBC强大, 但我上次见的那个大型项目使用的是Spring集成JDBC, 我也不明白为什么不使用Hibernate呢! hibernate是orm框架,是用来表示类的继承这些在数据库中不好表示的关系,不是其他的。所以不是一定要用的,用不好后果很大 如果员工都很熟悉Hibernate,我想应该会使用hibernate的。hibernate要求相对也强些 我觉得hibernate是一个用于持久化数据的一个框架,它比JDBC有很多的优势,但是开发大型项目应该用的最多的还是SSH框架,一起用吧; 大型项目还是考虑到了效率问题,Hibernate没有ibatis效率好 hiberate有一个缓存机制,每次从DB中存取数据,它都会在内存中保存一份,下一次同样的操作就取内存中的。不适合大数据量的应用,还是JDBC直接操作数据库好。 错了哦,hibernate的缓存会分为session级,sessionFactory级,和查询缓存,你说的是sessionFactory级,和查询缓存吧,但是必须都要配置的,不配置就没用。session级缓存==没有用,session用完就释放 主要是出于对性能的考虑,因为Hibernate和JDBC相比较最大的缺点就是性能的问题。其实这也是必然会出现的问题,任何框架对底层的包装都会产生这些性能问题。主要看我们对性能的要求到底到什么程度。比如IBatis也不错,就是因为它不像Hibernate封装的那么厉害,也不想JDBC一样过于底层而采取的一种折中办法。 HIbernate 开发效率高 jdbc 应用效率高 二个字 太慢非WEB项目下,hibernate的性能无法忍受 1 速度慢 不好优化 控制起来麻烦2 不能使用sql的很多功能 存储过程 物化试图等3 对象映射多了 对学习sql不利 问题分析如下1、hibernate的好处就是开发快。它是面向对象的编程。书写比较方便。 对编程人员编写SQL的能力要求比较低。容易上手。但是它最后执行还是要根据你配置的数据库方言编译成对应数据库的SQL。它有一个编译的过程所以它效率差些。但是hibernate只要修改了配置文件中的数据库方言。它可以适应流行的任何数据库。扩展性比较好。2JDBC。使用JDBC是安装关系型数据库来解决问题的。 编写一个复杂的查询是比较困难的。 对编程人员的要求比较高。但是它如果使用了某些数据库的特殊函数。项目下来需要用别的数据库改动比较大。但是JDBC执行效率比较高。 问题分析如下1、hibernate的好处就是开发快。它是面向对象的编程。书写比较方便。 对编程人员编写SQL的能力要求比较低。容易上手。但是它最后执行还是要根据你配置的数据库方言编译成对应数据库的SQL。它有一个编译的过程所以它效率差些。但是hibernate只要修改了配置文件中的数据库方言。它可以适应流行的任何数据库。扩展性比较好。2JDBC。使用JDBC是安装关系型数据库来解决问题的。 编写一个复杂的查询是比较困难的。 对编程人员的要求比较高。但是它如果使用了某些数据库的特殊函数。项目下来需要用别的数据库改动比较大。但是JDBC执行效率比较高。3、hibernate的可读性比较高。JDBC可读性比较差4、jdbc执行效率要比hibernate高。 hibernate速度不行,直接jdbc会快一些。。 优点:hibernate 主要的用途是跨数据库平台,对数据表映像数据对象,实现了真正意义上java对数据的面向对象编程,对于那些经常迁移数据库项目提供了便利而不用每一次都要改动java操作数据库代码缺点:操作数据速度变慢,如果你的项目不是经常跨数据库平台,建议还是用JDBC 执行效率会更高一些 优点:hibernate 主要的用途是跨数据库平台,对数据表映像数据对象,实现了真正意义上java对数据的面向对象编程,对于那些经常迁移数据库项目提供了便利而不用每一次都要改动java操作数据库代码缺点:操作数据速度变慢,如果你的项目不是经常跨数据库平台,建议还是用JDBC 执行效率会更高一些 hibernate个人认为有2优势,自动封装,和自动关联.在大型项目中,通常时间项目工期较长,人员流动较大,表结构很多.如果设计时明确的固定关联方式不是效率高的.相反有很多麻烦. 所以自动关联不是很重要.大型项目都是手动关联.自动封装,手工封装下也不是很麻烦的.个人意见,欢迎讨论 我不同意说哪个比哪个好、哪个比哪个更适合做什么,如果你hibernate优化的好,你深入了解它,他怎么会不可以在大型项目做东西呢?? 主要是效率的问题吧,用hibernate查询对数据库的压力应该会大些 一道面试题 时间方面 急 新手,求达人解答 Hibernate查询结果如何封装成一个自定义实体 我现在这样是不没机会找到工作? 工作流引擎Shark与jBpm的比较? SSH项目的404错误 大家好!工作4年,在职java程序员,希望和大家交流!里面有我的MSN,顶者有分! RMI Client问题 一个EJB-QL的问题,望大虾指点。 数据库取值动态插入WORD文档. iframe myeclipse的部署时出的问题
非WEB项目下,hibernate的性能无法忍受
2 不能使用sql的很多功能 存储过程 物化试图等
3 对象映射多了 对学习sql不利
1、hibernate的好处就是开发快。它是面向对象的编程。书写比较方便。 对编程人员编写SQL的能力要求比较低。容易上手。但是它最后执行还是要根据你配置的数据库方言编译成对应数据库的SQL。它有一个编译的过程所以它效率差些。但是hibernate只要修改了配置文件中的数据库方言。它可以适应流行的任何数据库。扩展性比较好。
2JDBC。使用JDBC是安装关系型数据库来解决问题的。 编写一个复杂的查询是比较困难的。 对编程人员的要求比较高。但是它如果使用了某些数据库的特殊函数。项目下来需要用别的数据库改动比较大。但是JDBC执行效率比较高。
1、hibernate的好处就是开发快。它是面向对象的编程。书写比较方便。 对编程人员编写SQL的能力要求比较低。容易上手。但是它最后执行还是要根据你配置的数据库方言编译成对应数据库的SQL。它有一个编译的过程所以它效率差些。但是hibernate只要修改了配置文件中的数据库方言。它可以适应流行的任何数据库。扩展性比较好。
2JDBC。使用JDBC是安装关系型数据库来解决问题的。 编写一个复杂的查询是比较困难的。 对编程人员的要求比较高。但是它如果使用了某些数据库的特殊函数。项目下来需要用别的数据库改动比较大。但是JDBC执行效率比较高。
3、hibernate的可读性比较高。JDBC可读性比较差
4、jdbc执行效率要比hibernate高。
hibernate 主要的用途是跨数据库平台,对数据表映像数据对象,实现了真正意义上java对数据的面向对象编程,对于那些经常迁移数据库项目提供了便利而不用每一次都要改动java操作数据库代码
缺点:
操作数据速度变慢,如果你的项目不是经常跨数据库平台,建议还是用JDBC 执行效率会更高一些
hibernate 主要的用途是跨数据库平台,对数据表映像数据对象,实现了真正意义上java对数据的面向对象编程,对于那些经常迁移数据库项目提供了便利而不用每一次都要改动java操作数据库代码
缺点:
操作数据速度变慢,如果你的项目不是经常跨数据库平台,建议还是用JDBC 执行效率会更高一些