Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java数据源会话工厂_Java_Hibernate_Datasource_Sessionfactory - Fatal编程技术网

Java数据源会话工厂

Java数据源会话工厂,java,hibernate,datasource,sessionfactory,Java,Hibernate,Datasource,Sessionfactory,我对DataSource和SessionFactory之间的区别感到困惑 我认为SessionFactory是一个用于检索会话的管理器(我猜实际上是与数据库的连接) DataSource具有方法getConnection() “尝试与此数据源对象表示的数据源建立连接。” 这意味着数据源对象始终直接与数据库一起工作 如果我有一个连接池,DataSource将向该池请求连接?或者它会尝试与数据库建立另一个连接 实际上,DataSource和SessionFactory是否相同?两者都试图提供会话/连

我对
DataSource
SessionFactory
之间的区别感到困惑

我认为
SessionFactory
是一个用于检索会话的管理器(我猜实际上是与数据库的连接)

DataSource
具有方法
getConnection()

“尝试与此数据源对象表示的数据源建立连接。”

这意味着
数据源
对象始终直接与数据库一起工作


如果我有一个连接池,
DataSource
将向该池请求连接?或者它会尝试与数据库建立另一个连接


实际上,
DataSource
SessionFactory
是否相同?两者都试图提供会话/连接?

数据源维护连接池,建立连接,知道如何连接等

用户在服务器(如websphere/weblogic)或spring/hibernate配置文件中配置数据源。无论哪种方式,您都可以在应用程序启动期间将此数据源的句柄提供给sessionfactory


SessionFActory是一个界面,它隐藏了打开连接/关闭连接等所有细节。在整个开发过程中,您不必担心加载驱动程序/关闭连接/打开等小事情,因此您可以专注于业务逻辑/其他重要内容

你说的是什么
SessionFactory
类?我说的是Hibernate的
SessionFactory
。因此
SessionFactory
给你一个Hibernate会话,
DataSource
给你一个JDBC连接。问题是什么?如果我有一个连接池,
DataSource
将向池中请求连接?这是一个完全不同的问题,答案是您将它放在前面。通常在这种情况下,
数据源是池。