2017-10-10 7 views
0

J'ai donc une application basée sur le printemps qui parle à une base de données Oracle 12c et je veux désactiver la sensibilité à la casse pour le modèle jdbc.Comment désactiver la sensibilité à la casse pour une source de données au printemps jdbctemplate

Je sais que cela peut être fait en exécutant les instructions suivantes avant d'appeler la requête réelle. Mais je ne veux pas appeler ces déclarations chaque fois que je fais une requête de base de données. Y at-il quelque chose que je peux configurer avant le démarrage de mon application?

ALTER SESSION SET NLS_COMP=LINGUISTIC; 
ALTER SESSION SET NLS_SORT=BINARY_CI; 
+0

"Désactiver la casse" = tour sur la casse? Oracle n'est-il pas sensible à la casse dans les comparaisons de chaînes par défaut? –

+0

Utilisez-vous uniquement Oracle ou d'autres SGBDR? –

+0

Seul Oracle est ma source de données – Rohit

Répondre

0

Le JdbcTemplate lui-même ne fournit aucune sorte de scripts d'initialisation. Mais certaines implémentations DataSource pourraient fournir cette caractéristique. Par exemple, le Tomcat JDBC DataSource a une méthode setInitSQL(String sql). La requête donnée est exécutée lorsqu'une connexion est créée pour la première fois.

Spring Boot fournit une option de configuration common application.properties pour configurer le tomcat jdbc datasource:

spring.datasource.tomcat.initSQL=ALTER SESSION SET...