2012-04-26 6 views
0

J'essaie d'obtenir un compte à partir d'une table en utilisant HQL. Voici mon code.HQL Count Query

Long bgaCount = (Long)em.createQuery(" SELECT COUNT(*) FROM BiGlAccounts ").getSingleResult(); 

Je sais pertinemment qu'il ya deux enregistrements de la table, mais chaque fois que je lance ceci et vérifier la valeur de bgaCount il retourne 0. Est-ce que vous voyez quelque chose de mal ici?

Répondre

0

Est-ce que BiGlAccompte le nom de votre entité ou le nom de votre table? Le déplacement vers NHib à partir des instructions SQL peut entraîner l'ajout de 's' à la fin du nom de l'entité. Si l'entité s'appelle BiglAccount (sans s), vous devriez le changer. Nhib n'a pas besoin de quoi que ce soit à la fin et au début, donc je vous recommande de les enlever. Donc, je voudrais essayer la chaîne suivante pour la première vue: "SELECT COUNT (*) FROM BiGlAccount"

+0

L'entité est appelée BiGlAccounts. La table correspondante est BI_GL_ACCOUNTS. L'espace blanc ne semble pas faire la différence. – Graham

0

Le problème était que le serveur devait être nettoyé. Une fois nettoyé et reconstruit, ça a marché. Je n'ai pas changé le code alors ne me demandez pas pourquoi mais ça l'a corrigé.