不支持最初我用只冬眠Spring + hibernate vs hibernate配置。 UnsupportedOperationException異常的原因:通過的BasicDataSource
而且我下面hibernate.cfg.xml
:
<hibernate-configuration>
<session-factory>
<property name="hbm2ddl.auto">create</property>
<property name="connection.url">jdbc:mysql://localhost:3306/...</property>
<property name="connection.username">root</property>
<property name="connection.password">XXX</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="connection.pool_size">1</property>
<property name="current_session_context_class">thread</property>
//mapping
...
</session-factory>
</hibernate-configuration>
和它的作品好:
我以後包括春然後配置看起來如此:
...
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/..." />
<property name="username" value="root" />
<property name="password" value=XXX />
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:hibernate.cfg.xml" />
</bean>
...
後,我看到控制檯:
java.lang.UnsupportedOperationException: Not supported by BasicDataSource
at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1432)
at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:139)
後,我試圖從hibernate.cfg.xml
刪除
<property name="connection.username">root</property>
<property name="connection.password">XXX</property>
,我看不出異常。
你能解釋一下這個問題的原因是什麼?
起初我以爲這個問題,我不應該在不同的配置重複的信息,但現在我看到,例如url
定義裏面dataSource
和內部hibernate.cfg.xml
請澄清這Spring + Hibernate的魔法。
現在我有一個工作應用程序!我只想了解問題的原因 – gstackoverflow
您的建議是用完全不緩存連接的東西替換完全成熟的連接池。用戶不應該在生產中這樣做。 –