A voir également:
- Problème test Service Web avec hibernatemysql
- Test performance pc - Guide
- Web office - Guide
- Test composant pc - Guide
- Redmi note 13 5g test - Accueil - Téléphones
- Service spouleur - Guide
2 réponses
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 291
31 déc. 2009 à 02:32
31 déc. 2009 à 02:32
Vérifie lequel de tes objets dans le code suivant est nul :
public Vol getVol(String depart, String arrivee) {
Vol vol = null;
List<Vol> volList = null;
try {
org.hibernate.Transaction tx = session.beginTransaction();
Query q = session.createQuery ("from Vol as vol where vol.depart='" + depart +"' and vol.arrivee='" + arrivee +"' " );
volList = (List<Vol>) q.list();
vol = (Vol) volList.get(0);
tx.commit();
} catch (Exception e) {
e.printStackTrace();
}
return vol;
}
Place un test avant chaque utilisation, ainsi tu verras d'où sort le NullPointer.
public Vol getVol(String depart, String arrivee) {
Vol vol = null;
List<Vol> volList = null;
try {
org.hibernate.Transaction tx = session.beginTransaction();
Query q = session.createQuery ("from Vol as vol where vol.depart='" + depart +"' and vol.arrivee='" + arrivee +"' " );
volList = (List<Vol>) q.list();
vol = (Vol) volList.get(0);
tx.commit();
} catch (Exception e) {
e.printStackTrace();
}
return vol;
}
Place un test avant chaque utilisation, ainsi tu verras d'où sort le NullPointer.
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 291
31 déc. 2009 à 02:55
31 déc. 2009 à 02:55
Si il y rentre, mais justement il passe au catch puisqu'il rencontre un NullPointerException.
M'est d'avis que "session" est Null, et donc qu'aucune session ou connexion n'est ouverte.
M'est d'avis que "session" est Null, et donc qu'aucune session ou connexion n'est ouverte.
Je pense que la session n'est pas null, puisque je lance une commande Hql et ca me retourne la table:
Mon HibernateUtil.java est le suivant:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package operation.ws;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.SessionFactory;
/**
* Hibernate Utility class with a convenient method to get Session Factory object.
*
* @author bessa
*/
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
// Create the SessionFactory from standard (hibernate.cfg.xml)
// config file.
sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
} catch (Throwable ex) {
// Log the exception.
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
j'ai essayé de placé direcctement l'initialisation de la session dans la methode getVol() dans le le bloc "try" au lieu de la laisser dans le constructeur volHelper mais ca marche pas.
Mon HibernateUtil.java est le suivant:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package operation.ws;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.SessionFactory;
/**
* Hibernate Utility class with a convenient method to get Session Factory object.
*
* @author bessa
*/
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
// Create the SessionFactory from standard (hibernate.cfg.xml)
// config file.
sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
} catch (Throwable ex) {
// Log the exception.
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
j'ai essayé de placé direcctement l'initialisation de la session dans la methode getVol() dans le le bloc "try" au lieu de la laisser dans le constructeur volHelper mais ca marche pas.
31 déc. 2009 à 02:53
Enfait,dans la console, j'ai comme indiqué que le problème vient de la ligne 28 du fichier java qui correspond a :
org.hibernate.Transaction tx = session.beginTransaction();
Parcontre, j'ai fait comme vous avez proposez et je suis sure qu'il ne rentre pas dans le Try, du coup il retourne la liste vide qui a été initialisé au début.
public Vol getVol(String depart, String arrivee) {
Vol vol = null;
List<Vol> volList = null;
try {
org.hibernate.Transaction tx = session.beginTransaction();