我已将HQL查询替换为SQL的查询,以便从hibernate转换回纯JDBC,原因有很多。现在,我无法理解hibernate中的SessionFactory意味着什么以及我应该用普通的JDBC替换它?还有,hibernate中的会话涉及很多配置。如何在普通的JDBC中处理所有这些?请帮助
答案 0 :(得分:1)
我会试着澄清你对会议工厂的误解,并希望指出你正确的方向。
JDBC中会话工厂的目的是处理与数据库的连接。当有人访问您的站点并单击需要jdbc的链接时,他们将发出连接请求,会话工厂将看到该请求。然后会话工厂将从池中获取连接或建立新连接。这一切都在几毫秒内发生。
想想你的数据库连接就像很多车一样,会话工厂就是带钥匙的经理。当用户访问您的网站并需要连接时,他们会要求提供1辆车。然后经理要么给他们一辆前面的车,他们坐在那里,准备出发(在游泳池中连接),或者会回去寻找新的连接,然后将车开出去(需要更长的时间)获得游泳池连接)。
然后,当用户完成汽车(连接)后,他们将其交还给经理,他将决定是否应将其保持在前面并闲置(在游泳池中)或将其取出并将其关闭。您可以通过指定有关数据源(数据库)的属性来控制会话工厂查找连接的位置,以及在使用连接后将其置于何处。
要进一步了解会话工厂,您必须首先进一步了解jdbc中的池。所以我强烈建议在该领域进行一些谷歌搜索,以帮助澄清一些事情!希望这能指出你正确的方向!