我要求对要由用户选择的数据库运行SQL,大约有10K数据库,并且连接字符串存储在不同的数据库(例如主机数据库)中。
要求是 1.连接到主机数据库(Hibernate正常运行) 2.从#1中获取连接字符串 3.运行SQL到新的连接字符串 4.断开新连接的数据库。
Hibernate用于运行良好的#1,也用于我们正在使用的
的#3呼叫SessionFactory sessionFactory = transactionInitImpl.createSessionFactory(dbUrl, dbUsername, dbPassword, sessionType);
使用此sessionfactory,我们可以启动SQL,并将连接池大小保持为1。这是可行的,但我感觉很慢。
使用本机连接方式(连接/语句/结果集)会很快还是完全一样,或者是否有其他好方法可以执行此操作?
答案 0 :(得分:0)
休眠是基于JDBC的更高级别的抽象。它允许使用Java实体而不是表进行操作。因此,您可以使用更多的面向对象的代码,并减少对低级SQL查询的依赖。它还为您提供了许多不错的功能,例如智能缓存,内置的事务支持等等。
如果您需要执行简单的SQL查询,那么Hibernate对您来说就算过头了。使用JDBC,因为它总是更快。