Bonjour,
j'aimerai savoir s'il est possible d'exécuter une requête mySQL à travers Hibernate en utilisant la méthode startsWith de comparaison de chaine de caractères ou même la méthode like. En fait, je voudrais trouver toutes les entités dont un attribut commence par une chaine de caractères définie.
J'ai tenté d'utiliser le "createSQLQuery" d'Hiberante, mais j'ai une erreur dans la syntaxe SQL.
Voici mon code :
Or si j'éxécute ce code, j'ai alors l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Session session = HibernateUtil.currentSession(); String query = "select * from Tache where cheminProjet LIKE '" + this.cheminProjet+ "/% '"; List res = session.createSQLQuery(query).list(); int nb = res.size(); HibernateUtil.closeSession();Je ne comprends pas où est l'erreur dans ma requête ...Exception in thread "main" org.hibernate.MappingException: No Dialect mapping for JDBC type: -1
at org.hibernate.dialect.TypeNames.get(TypeNames.java:56)
at org.hibernate.dialect.TypeNames.get(TypeNames.java:81)
at org.hibernate.dialect.Dialect.getHibernateTypeName(Dialect.java:370)
at org.hibernate.loader.custom.CustomLoader$Metadata.getHibernateType(CustomLoader.java:559)
at org.hibernate.loader.custom.CustomLoader$ScalarResultColumnProcessor.performDiscovery(CustomLoader.java:485)
at org.hibernate.loader.custom.CustomLoader.autoDiscoverTypes(CustomLoader.java:501)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1796) .........;
Merci de votre aide
Partager