Bonjour à tous,
J'ai à ce jour une problématique qui me me bouffe la tête depuis un certain moment. En effet, je travaille sur une évolution d'une application déjà existante. et cette appli utilisait auparavant une ancienne version d'hibernate en l'occurrence la version 3 que nous avons migré vers la 4.
Donc voilà, il y avait déjà des requêtes HQL qui ne sont plus acceptées à ce jour, notamment une requête de ce genre
Ces requêtes s'exécutent normalement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Query query = sessionFactory.getCurrentSession().createQuery("from User where username=?") ....(heureusement) seul bémol elles provoquent un warning : [DEPRECATION] Encountered positional parameter near line 1, column 223. Positional parameter are considered deprecated; use named parameters or JPA-style positional parameters instead..
j'ai déjà regardé chez mon ami Google et il m'a dit que c'est à cause des " ? " qui ne sont plus très appréciés dans hibernate. mais bon vu la situation je me suis tenté de changer toutes les requêtes du projet en passant par des requêtes nommées mais c'est impossible vu la taille du projet.
Bon voici ce à quoi j'ai pensé. y a t il un moyen de pas afficher cette information dans la console ? j'ai regardé du côté de log4j en l'occurrence sur consoleAppender mais rien à faire. mais j'ai vu aussi qu'ibernate utilise son propre Lo4j appelé CoreMessageLogger qui est ecrit dans la classe HqlSqlWalker
(voire le jar hibernate-core-4.3.8. final.jar ) !!!
mon idée est y a t il un moyen der cacher cette erreur dans le fichier de configuration d'hibernate ? par exemple on peut dire de pas montrer les requêtes sql en faisant
Si quelqu'un a rencontré ce type de problème et qu'il a réussi à le résoudre je suis preneur
Code : Sélectionner tout - Visualiser dans une fenêtre à part <property name="hibernate.show_sql">false</property>
.
Merci d'avance pour le temps que vous prendrez![]()
Partager