Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 原生SQL(使用MySQL)与使用Hibernate ORM的性能差异?_Java_Mysql_Hibernate_Orm_Jdbc - Fatal编程技术网

Java 原生SQL(使用MySQL)与使用Hibernate ORM的性能差异?

Java 原生SQL(使用MySQL)与使用Hibernate ORM的性能差异?,java,mysql,hibernate,orm,jdbc,Java,Mysql,Hibernate,Orm,Jdbc,我将SpringMVC用于一个应用程序,该应用程序涉及一个用于管理的多级后端和一个客户/成员前端。该项目最初是在没有框架和简单的本地JDBC数据库访问调用的情况下启动的 随着项目的显著增长(他们总是这样),我进行了更重要的数据库调用,有时查询较大的选择大小 我正在尽我所能来处理我的db调用,以密切模拟对象关系映射最佳实践,但我仍然只使用JDBC。我一直在考虑是否应该过渡到hibernate,但不确定是否值得。我愿意这样做,如果它值得一个性能增益 与使用JDBC的本机SQL相比,使用Hiberna

我将SpringMVC用于一个应用程序,该应用程序涉及一个用于管理的多级后端和一个客户/成员前端。该项目最初是在没有框架和简单的本地JDBC数据库访问调用的情况下启动的

随着项目的显著增长(他们总是这样),我进行了更重要的数据库调用,有时查询较大的选择大小

我正在尽我所能来处理我的db调用,以密切模拟对象关系映射最佳实践,但我仍然只使用JDBC。我一直在考虑是否应该过渡到hibernate,但不确定是否值得。我愿意这样做,如果它值得一个性能增益


与使用JDBC的本机SQL相比,使用Hibernate(甚至只是对象关系映射)是否有任何性能提升?

ORM让您置身于OOP世界,但这是以性能为代价的,尤其是在我们的例子中,多对多关系。我们默认使用Hibernate,在需要时使用jdbc进行性能优化

与使用JDBC的本机SQL相比,使用Hibernate(甚至只是对象关系映射)是否有任何性能提升

使用ORM、数据映射器等不会使相同的SQL查询运行得更快。但是,当使用Hibernate时,您可以受益于延迟加载、二级缓存、查询缓存等功能,这些功能可能有助于提高性能。我并不是说Hibernate对于每一个用例都是完美的(对于Hibernate不能很好地处理的特殊情况,您可以始终使用本机SQL),但它做得非常好,并且肯定会缩短开发时间(即使在增加优化时间之后)


但是说服你自己的最好方法是测量一些东西,在你的例子中,我可能会创建一个Hibernate原型,涵盖一些有代表性的场景,并将其测试

Hibernate将使应用程序的开发和维护更加容易,但它不一定会使数据库访问更快

如果您的本地JDBC调用使用了低效的SQL,那么您可能会看到一些性能改进,因为HIbernate倾向于生成好的SQL