Hibernate需要進行資料庫通路,是以必須設定連接配接資料庫的相關屬性。所有Hibernate屬性的名字和語義都在org.hibernate.cfg.Environment中定義。
下面是關于JDBC連接配接配置中最重要的設定。
Ø hibernate.connection.driver_class:設定連接配接資料庫的驅動。
Ø hibernate.connection.url:設定所需連接配接資料庫服務的URL。
Ø hibernate.connection.username:連接配接資料庫的使用者名。
Ø hibernate.connection.password:連接配接資料庫的密碼。
Ø hibernate.connection.pool_size:設定Hibernate資料庫連接配接池的最大并發連接配接數。
Ø hibernate.dialect:設定連接配接資料庫所使用的方言。
如果在hibernate.cfg.xml或hibernate.properties檔案中設定如上屬性,Hibernate将可以處理底層資料庫連接配接細節。
上面配置了Hibernate資料庫連接配接池的最大并發連接配接數,但Hibernate自帶的連接配接池僅有測試價值,并不推薦在實際項目中使用。實際項目中可以使用C3P0或Proxool連接配接池,為了使用C3P0或Proxool連接配接池,隻需要用這些連接配接池配置代替hibernate.connection.pool_size配置屬性即可。
下面是配置C3P0連接配接池的配置片段。
<!-- 設定連接配接資料庫的驅動。-->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<!--設定所需連接配接資料庫服務的URL。-->
<property name="connection.url">jdbc:mysql://localhost/hibernate</property>
<!--連接配接資料庫的使用者名。-->
<property name="connection.username">root</property>
<property name="connection.password">32147</property>
<!-- C3P0連接配接池的最大連接配接數-->
<property name="hibernate.c3p0.max_size">20</property>
<!-- C3P0連接配接池的最小連接配接數-->
<property name="hibernate.c3p0.min_size">1</property>
<!-- C3P0連接配接池中連接配接的逾時時長 -->
<property name="hibernate.c3p0.timeout">1800</property>
<!-- C3P0緩存Statement的數量 -->
<property name="hibernate.c3p0.max_statements">50</property>