【发布时间】:2010-05-18 11:44:54
【问题描述】:
是否可以以只读模式打开 JdbcTemplate 连接,这样我就无法对底层数据源进行任何更改?
【问题讨论】:
-
你说的是 Spring 框架吗?
-
是的,我确实在谈论 Spring 框架。
标签: java spring jdbc readonly jdbctemplate
是否可以以只读模式打开 JdbcTemplate 连接,这样我就无法对底层数据源进行任何更改?
【问题讨论】:
标签: java spring jdbc readonly jdbctemplate
使用 Spring Transactions 并将事务声明为只读。见http://static.springsource.org/spring/docs/2.5.6/reference/transaction.html#transaction-declarative-annotations
【讨论】:
我使用这样的辅助方法
private void setConnectionReadOnly(boolean readOnly) {
try {
jdbcTemplate.getDataSource().getConnection().setReadOnly(readOnly);
} catch (SQLException e) {
e.printStackTrace();
}
}
【讨论】:
我不相信 JDBC 连接 API 允许这样做。
你有两个选择:
第二种选择显然更灵活,符合Spring的自然习语精神。
【讨论】: