2010-01-08 6 views
0

Essayant d'obtenir tous les articles, avec des titres uniques (distincts (titre)), qui ont un corps de "".Vous essayez d'obtenir des résultats distincts, en disant chaîne ne peut pas être converti en bla.Model.Article

List<Article> articles = (List<Article>) session.createQuery("select distinct a.title from Article a where body = :body") 
.setString("body", "") 
.list(); 

Je reçois l'erreur:

principale java.lang.ClassCastException: java.lang.String ne peut pas être jeté à blah.Model.Article Exception dans le thread "principal" java.lang.ExceptionInInitializerError

La table de l'article a des doublons, c'est pourquoi j'essaye d'obtenir seulement des articles uniques. Peu importe ce qui arrive une fois, tant que le titre est unique et que le corps est "".

Mise à jour Puis-je utiliser une sous-requête pour obtenir les résultats?

Répondre

2

Vous sélectionnez titres, pas les articles - c'est pourquoi vous obtenez des chaînes.

La requête des "articles avec des titres distincts" n'a même pas de sens - si vous avez deux articles qui partagent un titre, à quoi vous attendriez-vous?

+0

la table a des doublons, et peu importe laquelle je récupère. – mrblah

+0

@mrblah: Hmm. Je sais comment je ferais ça dans LINQ, mais je ne sais pas à quoi cela ressemblerait dans Hibernate ou SQL ... –

Questions connexes