構成は次のとおりです。
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${connection.driverclass}"/>
<property name="url" value="${connection.url}/${connection.database}"/>
<property name="username" value="${connection.username}"/>
<property name="password" value="${connection.password}"/>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="mappingLocations">
<list>
<value>classpath:path/to/hibernate/mappings/*.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<value>
hibernate.dialect=${hibernate.dialect}
</value>
</property>
</bean>
IDE (IntelliJ IDEA) を使用してインプレースでデプロイすると、すべてが期待どおりに機能しますが、スタンドアロンの Tomcat 7 にデプロイすると、BasicDataSource が UnsupportedOperationException をスローします。
デバッグは、BasicDataSource:getConnection がユーザー名「sa」で呼び出されるために例外がスローされることを示し、さらに LocalSessionFactoryBean がそのユーザー名でインスタンス化されていることを示しています。ユーザー名が挿入される場所が見つからないため、これには完全に困惑しています。
MariaDB を使用しています。