Selon le dernier Hibernate docs section 17.3, cela devrait fonctionner:Est-ce que HQL est toujours pris en charge dans les appels NativeQuery dans Hibernate 5?
List<Person> persons = session.createNativeQuery(
"SELECT * FROM Person", Person.class)
.getResultList();
J'ai une question presque identique et je reçois une exception:
java.sql.SQLException: Invalid object name 'Person'
J'utilise hibernate-core-5.2.10 .FINAL. Après avoir parcouru la source, il ne se ramifie jamais pour regarder le graphe d'entité comme le fait une requête HQL normale.
Quelqu'un d'autre voit cela? Je peux poster plus de détails pour les curieux, et ajouterai plus de choses pendant que je continue à déboguer ...
J'ai couru la même question après avoir rétrogradé Hibernate à 5.0.12 avec le même résultat. Bien que dans Hibernate 5.0 il n'y ait pas de méthode "nativeQuery" sur la session, c'est "createSQLQuery" qui crée un objet "SQLQuery". Le Hibernate 5.0 Users Guide section 17.3 dit le texte même si:
List<Person> persons = session.createSQLQuery(
"SELECT * FROM person")
.addEntity(Person.class)
.list();
Peut-être partager la requête. Près identique est un peu d'un oxymore .... – Namphibian
True! Travailler sur la réplication dans une ancienne version d'Hibernate. Possible J'essaie de faire quelque chose qui n'a jamais été supporté. Va poster plus de détails dès que je suis capable. Merci d'avoir commenté. – ECDragon