JCS*_*JCS 12 java hibernate jdbc
目前我正在将我的Java Web应用程序从JDBC切换到Hibernate,在我当前的JDBC实现中,我将应用程序初始化时的静态数据加载到静态变量中,所以每次我需要一些静态数据时都不必直接访问数据库,现在切换到hibernate我正在考虑摆脱这些静态变量,因为我已经研究过hibernate将数据保存在缓存中.
我对hibernate相当新,所以我不确定从我当前的方法切换到hibernate是否会提高性能.我将进一步研究hibernates缓存并运行一些性能测试,以查看哪种方法更好,但只是想对其他人对这两种方法的性能有何看法.
谢谢.
Aur*_*urA 15
对于大多数数据库供应商而言,与Hibernate相比,JDBC总能提供更好的性能.您可以查看以下链接中给出的比较.他总结说,当用较少的行查询表时,hibernate很快,否则jdbc会更好.
http://phpdao.com/hibernate_vs_jdbc/
另一个好的性能统计数据可以在Hiberate论坛讨论中找到,网址是https://forum.hibernate.org/viewtopic.php?f=1&t=931708
它说明了由于使用了hibernate而导致性能下降的顺序,请注意这可以通过将hibernate调整为需要来改进.
Objects: 8 - Hibernate: 10ms / Direct JDBC: 10ms = Ratio: 1.0
Objects: 16 - Hibernate: 10ms / Direct JDBC: 0ms = Ratio: Infinity
Objects: 64 - Hibernate: 20ms / Direct JDBC: 10ms = Ratio: 2.0
Objects: 256 - Hibernate: 150ms / Direct JDBC: 30ms = Ratio: 5.0
Objects: 512 - Hibernate: 210ms / Direct JDBC: 40ms = Ratio: 5.25
Objects: 1024 - Hibernate: 410ms / Direct JDBC: 70ms = Ratio: 5.857143
Objects: 2048 - Hibernate: 681ms / Direct JDBC: 180ms = Ratio: 3.7833333
Run Code Online (Sandbox Code Playgroud)
通过jdbc和sql查询选择hibernate不是因为性能,而是因为主要原因是对象持久性和数据库独立性,而不是编写特定于数据库的查询.您可以阅读pdf指南以获得更好的视图.
http://www.mindfiresolutions.com/mindfire/Java_Hibernate_JDBC.pdf
| 归档时间: |
|
| 查看次数: |
17753 次 |
| 最近记录: |