【发布时间】:2015-04-21 10:14:02
【问题描述】:
我有一个使用 Spring JPA 和 hibernate 连接到 mysql 数据库的 Web 应用程序。如果与数据库的连接由于某种原因断开,我想捕获该异常,以便我可以暂停处理,然后永远轮询该连接,直到它恢复。
hibernate/spring jpa 中是否有任何设置可以解决这个问题?
应用程序上下文.xml:
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql:${db.loc}</value>
</property>
<property name="username">
<value>${db.username}</value>
</property>
<property name="password">
<value>${db.password}</value>
</property>
</bean>
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
</property>
<property name="packagesToScan" value="com.georgelung.template" />
<property name="jpaProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">false</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
TemplateRepository 类
@Repository
public interface TemplateRepository extends CrudRepository<TestEntity, Long> {
}
【问题讨论】:
-
需要贴出相关代码。
标签: java hibernate spring-data-jpa