我有运行SQL的要求,数据库将由用户选择,大约有10K个数据库和连接字符串存储在不同的数据库,如主机数据库。
要求是1.连接到主机数据库(Hibernate运行良好) 2.从#1 .获取连接字符串3.运行SQL到新的连接字符串4.断开新连接的数据库。
Hibernate用于#1,它工作正常,也用于#3调用,我们使用下面的
SessionFactory sessionFactory = transactionInitImpl.createSessionFactory(dbUrl, dbUsername, dbPassword, sessionType);使用这个会话工厂,我们能够触发SQL,将连接池大小保持为1。这是有效的,但我感觉很慢。
使用原生的连接方式(连接/语句/结果集)会更快,还是会一样,或者有其他好的方式来实现这一点?
发布于 2019-07-04 04:28:00
Hibernate是一个更高级别的抽象,它是基于JDBC构建的。它允许操作Java实体而不是表。因此您可以使用更多面向对象的代码,减少对低级SQL查询的依赖。此外,它还为您提供了许多出色的功能,如智能缓存、内置事务支持等。
如果您需要执行简单的SQL查询,Hibernate对您来说是一种过度的杀伤力。使用JDBC,因为它总是更快。
https://stackoverflow.com/questions/56874859
复制相似问题