Bonjour à tous,
il y a un moment (2013) j'avais fait un projet avec Hibernate 2 ou 3 et je voulais réessayer cette semaine avec une version plus récente.
J'ai un problème de NullPointerException lorsque je lance mon programme. En règle général je sais régler cette Exception mais, dans ce cas précis, je ne sais pas quelle est la meilleure marche à suivre avec le SessionFactory.
Dans mon projet, j'ai la structure suivante :
un classe AdresseDAO :
qui hérite de ma classe AbstractDaoHibernate suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 public class AdresseDao extends AbstractDaoHibernate implements IAdresseDao{ public void creerAdresse(Adresse adresse) { try{ Session session = getSession(); session.save(adresse); } catch (HibernateException he){ throw he; } } [...] }
et mon main pour le test :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 public class AbstractDaoHibernate { @Resource(name="sessionFactory") private SessionFactory sessionFactory; public void setSessionFactory(SessionFactory sessionFactory) { this.sessionFactory = sessionFactory; } protected Session getSession() { Session session = sessionFactory.getCurrentSession(); return session; } }
Le NullPointerException survient dans ma classe AbstractDaoHibernate, dans la méthode getSession(...). Evidemment puisque je n'ai pas instancié la sessionFactory.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public class TestMain { public static void main(String[] args) { AdresseService adresseService = new AdresseServiceImpl(); adresseService.creerAdresse(new Adresse("rue", "codep", "ville", "pays")); } }
Mes questions sont : Où dois-je instancier cette SessionFactory et dois-je le faire plusieurs fois où une seule fois ?
Merci d'avance =D bonne soirée
Partager