首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

hibernate 只能说的那些事-Connection Provider

2014-01-22 
hibernate 不得不说的那些事--Connection Provider?从源代码不难看出这么多种Connection Provider的优先顺

hibernate 不得不说的那些事--Connection Provider

?从源代码不难看出这么多种Connection Provider的优先顺序 :

?

自定义Connection Provider?>DatasourceConnectionProvider>C3P0ConnectionProvider

>?ProxoolConnectionProvider>DriverManagerConnectionProvider>UserSuppliedConnectionProvider

?

首先hibernate检测hibernate.connection.provider_class是否配置了,如果配置了,则根据该配置对应的类(必须要实现ConnectionProvider接口,含无参构造函数)名实例化。

?

如果hibernate.connection.provider_class没有配置,则检测hibernate.connection.datasource配置,如果配置了,则使用DatasourceConnectionProvider。

?

如果hibernate.connection.datasource没有配置,则检测hibernate.c3p0.max_size,如果配置了,则使用C3P0ConnectionProvider。

?

如果hibernate.c3p0.max_size没有配置,则检测hibernate.proxool.xml、hibernate.proxool.properties、hibernate.proxool.existing_pool的配置,只要其中任何一个配置了,则使用ProxoolConnectionProvider。

?

?

如果hibernate.proxool.xml、hibernate.proxool.properties、hibernate.proxool.existing_pool都没有配置,则检测hibernate.connection.url的配置,则使用DriverManagerConnectionProvider。

?

如果以上没有配置的话,则使用UserSuppliedConnectionProvider(抛出异常),提示需要提供连接。

?

热点排行