java jeu de résultats.getstring(“nom_colonne”) de la requête

J'ai une simple question concernant ResultSet.getString() méthode en java JDBC.
Supposons que la valeur dans la colonne de Base de données est d'avoir un \ qui est javas caractère d'échappement par exemple \n ou \t etc.
Quand j'ai récupérer la valeur que getString() j'en vois un de plus du caractère d'échappement est arriver ajoutée et la signification réelle de ce \n est maintenant un littéral de chaîne seulement.
J'ai donc dû ne pas encoder java et ensuite l'utiliser correctement.

String s= rs.getString("col_name");

Quand s contient `\n':

System.out.println(s)

de sortie:

\n

Après unescaping java à l'aide d'apache commune StringEscapeUtils

sortie:

System.out.println("hi"+s+"hello");
hi
hello

Ma question est de savoir qui est l'ajout de cette extra \ avant unescaping??
Désolé si c'est une question stupide.

Ressemble JDBC est d'échapper à toute spéciale charactres assurer que le texte est affiché de la même façon, il est stocké dans la bd. Donc si vous avez des bonjour\nworld en DB, il deviendra hello\\nworld lorsque les cheveux. Regarde la façon dont il devrait être.
JDBC n'échappe pas à quoi que ce soit dans le ResultSet. est la façon dont il devrait être. Sinon, de nombreuses applications ont des problèmes pour savoir ce qui est vraiment dans la DB et de ce que certains arbitraire couche a changé.

OriginalL'auteur Anubhab | 2013-04-05