Java 原生SQL(使用MySQL)与使用Hibernate ORM的性能差异?
我将SpringMVC用于一个应用程序,该应用程序涉及一个用于管理的多级后端和一个客户/成员前端。该项目最初是在没有框架和简单的本地JDBC数据库访问调用的情况下启动的 随着项目的显著增长(他们总是这样),我进行了更重要的数据库调用,有时查询较大的选择大小 我正在尽我所能来处理我的db调用,以密切模拟对象关系映射最佳实践,但我仍然只使用JDBC。我一直在考虑是否应该过渡到hibernate,但不确定是否值得。我愿意这样做,如果它值得一个性能增益Java 原生SQL(使用MySQL)与使用Hibernate ORM的性能差异?,java,mysql,hibernate,orm,jdbc,Java,Mysql,Hibernate,Orm,Jdbc,我将SpringMVC用于一个应用程序,该应用程序涉及一个用于管理的多级后端和一个客户/成员前端。该项目最初是在没有框架和简单的本地JDBC数据库访问调用的情况下启动的 随着项目的显著增长(他们总是这样),我进行了更重要的数据库调用,有时查询较大的选择大小 我正在尽我所能来处理我的db调用,以密切模拟对象关系映射最佳实践,但我仍然只使用JDBC。我一直在考虑是否应该过渡到hibernate,但不确定是否值得。我愿意这样做,如果它值得一个性能增益 与使用JDBC的本机SQL相比,使用Hiberna
与使用JDBC的本机SQL相比,使用Hibernate(甚至只是对象关系映射)是否有任何性能提升?ORM让您置身于OOP世界,但这是以性能为代价的,尤其是在我们的例子中,多对多关系。我们默认使用Hibernate,在需要时使用jdbc进行性能优化 与使用JDBC的本机SQL相比,使用Hibernate(甚至只是对象关系映射)是否有任何性能提升 使用ORM、数据映射器等不会使相同的SQL查询运行得更快。但是,当使用Hibernate时,您可以受益于延迟加载、二级缓存、查询缓存等功能,这些功能可能有助于提高性能。我并不是说Hibernate对于每一个用例都是完美的(对于Hibernate不能很好地处理的特殊情况,您可以始终使用本机SQL),但它做得非常好,并且肯定会缩短开发时间(即使在增加优化时间之后)
但是说服你自己的最好方法是测量一些东西,在你的例子中,我可能会创建一个Hibernate原型,涵盖一些有代表性的场景,并将其测试 Hibernate将使应用程序的开发和维护更加容易,但它不一定会使数据库访问更快 如果您的本地JDBC调用使用了低效的SQL,那么您可能会看到一些性能改进,因为HIbernate倾向于生成好的SQL