问题 hibernate会话和连接池之间的区别和关系?


我对hibernate会话和连接池感到困惑,它们是一样的吗?


7631
2018-03-24 17:11


起源



答案:


Hibernate是一个ORM,它是SQL数据库和POJO之间的一个层。

连接池提供了一种存储和重用方法 java.sql.Connection 速度和稳健性的实例。

一个冬眠 Session 是一个包装的 Connection 为了允许您在不直接编写SQL的情况下保存POJO。

所以一个冬眠 Session 是一个包装的 ConnectionConnections保存在连接池中。

你打电话时 SessionFactory.openSession hibernate首先需要一个 Connection 从提供的连接池。然后创建一个 Session 在那附近 Connection 并返回它。


16
2018-03-24 17:17



谢谢。我赞同你。 - Yves Messi
+1短而简单 - coding_idiot
是否在关闭会话时关闭连接? - user_mda
@user_mda使用JPA时不应该考虑连接。它可以做到它想要的东西。实际上它可能会打电话 close 在...上 Connection是的,但这是一个实现细节。 - Boris the Spider
@user_mda对不起,但是RTFM。 - Boris the Spider


答案:


Hibernate是一个ORM,它是SQL数据库和POJO之间的一个层。

连接池提供了一种存储和重用方法 java.sql.Connection 速度和稳健性的实例。

一个冬眠 Session 是一个包装的 Connection 为了允许您在不直接编写SQL的情况下保存POJO。

所以一个冬眠 Session 是一个包装的 ConnectionConnections保存在连接池中。

你打电话时 SessionFactory.openSession hibernate首先需要一个 Connection 从提供的连接池。然后创建一个 Session 在那附近 Connection 并返回它。


16
2018-03-24 17:17



谢谢。我赞同你。 - Yves Messi
+1短而简单 - coding_idiot
是否在关闭会话时关闭连接? - user_mda
@user_mda使用JPA时不应该考虑连接。它可以做到它想要的东西。实际上它可能会打电话 close 在...上 Connection是的,但这是一个实现细节。 - Boris the Spider
@user_mda对不起,但是RTFM。 - Boris the Spider