est-il possible d'ouvrir une connexion JdbcTemplate en mode lecture seule, de sorte que je ne peux pas effectuer de modifications à la source de données sous-jacente?Ouvrir la connexion JdbcTemplate en mode lecture seule?
3
A
Répondre
0
Je ne crois pas que l'API de connexion JDBC le permette.
Vous avez deux choix:
- accorder des autorisations appropriées au niveau de la base de données pour permettre que SELECT opérations;
- Utilisez Spring AOP et Security pour intercepter les appels pour écrire des opérations sur le DAO et les interdire pour certains rôles.
Le deuxième choix est évidemment plus flexible et dans l'esprit de l'idiome naturel de Spring.
0
Utilisez Spring Transactions et déclarez la transaction comme étant readOnly. Voir http://static.springsource.org/spring/docs/2.5.6/reference/transaction.html#transaction-declarative-annotations
0
J'utilise une méthode d'assistance comme celui-ci
private void setConnectionReadOnly(boolean readOnly) {
try {
jdbcTemplate.getDataSource().getConnection().setReadOnly(readOnly);
} catch (SQLException e) {
e.printStackTrace();
}
}
Parlez-vous du Cadre de printemps? –
Oui, je parle du framework Spring. –