【问题标题】:Java DataSource SessionFactoryJava 数据源会话工厂
【发布时间】:2015-02-07 17:21:18
【问题描述】:

我对@9​​87654321@ 和SessionFactory 之间的区别感到困惑。

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

DataSource 有方法getConnection()

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

这意味着DataSource 对象总是直接与数据库一起工作?

如果我有一个连接池,DataSource 会要求连接池吗?或者它会尝试获得另一个与数据库的连接。

实际上DataSourceSessionFactory 是一样的吗?两者都尝试提供会话/连接?

【问题讨论】:

  • 你在说什么SessionFactory类?
  • 我说的是SessionFactoryof Hibernate。
  • 所以 SessionFactory 给你一个 Hibernate 会话,DataSource 给你一个 JDBC 连接。有什么问题?
  • 如果我有一个连接池,DataSource 会要求连接池吗?
  • 这是一个完全不同的问题,答案是你把它放在前面。通常在这种情况下,DataSource 池。

标签: java hibernate datasource sessionfactory


【解决方案1】:

Datasource 维护连接池,建立连接,知道如何连接等,

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

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

【讨论】:

    猜你喜欢
    • 2013-12-30
    • 2016-11-27
    • 1970-01-01
    • 1970-01-01
    • 2010-09-14
    • 2013-10-21
    • 1970-01-01
    • 2015-03-18
    相关资源
    最近更新 更多