Il semble que ce soit un problème de paramètres régionaux. Connectez-vous avec l'écureuil et vérifiez ce que NLS_LANG
il définit, puis vérifiez quel paramètre régional utilise votre application Java. Un autre paramètre qui peut influencer le tri est NLS_SORT
.
Vous pouvez vérifier la valeur des deux en émettant :
select parameter,value from NLS_DATABASE_PARAMETERS where parameter in('NLS_LANGUAGE','NLS_SORT');
Ensuite, vous pouvez le tester en java en utilisant :
Locale.getDefault()
et définissez-le en utilisant :
Locale.setDefault(Locale)
ou en ajoutant des paramètres jvm :
-Duser.country=en -Duser.language=en
modifier
forums de printemps recommande de créer un déclencheur de connexion qui définit la variable d'environnement NLS_SORT lors de la connexion de l'utilisateur. Ce n'est pas MyBatis, mais jdbc devrait donc fonctionner dans votre cas.