Comment obtenir le dernier enregistrement de Mysql en utilisant Hibernate?
List<Lahetys> last = session.createQuery("from lahetys order by lahetysNro DESC LIMIT 1").list();
et dans le journal j'ai eu:
INFO: Hibernate: select from order by lahetysNro DESC LIMIT 1
WARN: SQL Error: 1064, SQLState: 42000
ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from order by lahetysNro DESC LIMIT 1' at line 1
Ce qui a happend "de LAHETYS"? Quelle est la meilleure pratique à manipuler qu'avec HQL ou/et avec SQL?
Un autre problème:
Lahetys last = (Lahetys)session.createSQLQuery("select * from lahetys order by lahetysNro DESC LIMIT 1").uniqueResult();
session.getTransaction().commit();
et j'obtiens une exception:
Ljava.lang.Object; cannot be cast to Lahetys
Donc je ne peux pas associer un objet à mon Lahetys-objet, bizarre?
Merci!
Sami
source d'informationauteur Sami
Vous devez vous connecter pour publier un commentaire.
Votre requête HQL est pas valide. La LIMITE n'est pas valide HQL clause. Pour le faire en mode veille prolongée, il suffit de faire
Lorsque vous utilisez les requêtes HQL, vous devez spécifier le nom de classe entièrement qualifié à la place du nom de la table. De la même façon, vous devez spécifier propertyName au lieu de columnName. Aussi garder à l'esprit que les deux sont sensibles à la casse.
En regardant vos requêtes & à l'exception que vous obtenez, je suis en supposant que lahetys est le nom de votre table & lahetysNro est votre nom de colonne.
Vous devriez utiliser par exemple: Si votre Lahetys classe est situé à
com
dossier:Pour votre 2ème question:
Ici vous avez utilisé SQL au lieu de HQL.
Lorsque vous utilisez SQL avec hibernate dans une telle façon, elle renvoie toujours
List<Object[]>
& pasList<Lahetys[]>
.