Hibernate, sql

Fermé
ourysho Messages postés 34 Date d'inscription jeudi 20 novembre 2008 Statut Membre Dernière intervention 14 décembre 2017 - Modifié le 19 août 2017 à 12:37
ourysho Messages postés 34 Date d'inscription jeudi 20 novembre 2008 Statut Membre Dernière intervention 14 décembre 2017 - 19 août 2017 à 12:51
bonjour,
j'ai des difficultés de comprendre la différence entre 2 choses que je vois tout le temps dans les Dao et qui fonctionne dans les 2 cas.
Ma question est de savoir: au moment de faire mes requêtes, quand est ce qu'on utilise les noms des champs champs et de l'entité correspondant en base. et quand on utilise les noms et les champs de l'entité directement.

voici un exemple ci dessous avec 2 methodes. Les methodes ne sont pas completes mais c'est les lignes ou j'ai les Query qui sont importantes.

Je vous remercie pour le temps que vous prendrez pour que je puisse comprendre

@Entity
@Table(name = "PERSONNE_P")
public class Personne {
 
 @Id
        @Column(name = "ID_P")
 private Long id;

 @Column(name = "NOM_P")
 private String nom;
      }

1ere facon en prenant le non de l'entité et les champs tel que définis

public Personne chercher(long idpersonne){
Query requete = entityManager.createQuery("select p.nom from Personne p where p.id = :idpersonne");
.................
..................
return Personne
}


2ieme façon en prenant le non de l'entité et les champs correspondant en base des données

public Personne chercher(long idpersonne){
 Query requete = entityManager.createQuery("select p.NOM_P from PERSONNE_P p where p.ID_P = :idpersonne");
.................
..................
return Personne
}


cordialement
A voir également:

1 réponse

KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 019
19 août 2017 à 12:39
Bonjour,

Je ne suis pas expert en Hibernate (et je déteste ça ^^) mais tu es sûr que ton 2è code fonctionne ? Il me semble que ce n'est correct que si tu utilises createNativeQuery à la place de createQuery.
1
ourysho Messages postés 34 Date d'inscription jeudi 20 novembre 2008 Statut Membre Dernière intervention 14 décembre 2017
19 août 2017 à 12:51
Merci KX de m'avoir répondu ci rapidement. j'ai vérifié les exemples que je lisais effectivement le 2ieme code utilise à chaque fois createNativeQuery au lieu de createQuery. Pour l'instant je me contente de ta réponse en attendant de chercher un peu comment ça fonctionne et le pourquoi.
0