Bonjour,

Je travail avec JUnit, Hibernate et postgresql.

Pour tester, j'ai :

- créer la table "personne" dans postgresql
- créer le fichier "database.properties" avec les parametre de la connexion a la BD
- créer le fichier "daos.xml" avec la connexion par rapport au parametre dans database.properties
- créer la classe Personne dans mon projet
- créer la classe PersonneDao dans mon projet
- créer le fichier "hibernate.hbm.xml" avec dedans la classe Personne
- créer la classe PersonneDaoTest que je test avec JUnit

Le test que je fais c'est dans la classe PersonneDaoTest :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
public void testGetById() {
 
       PersonneDao personneDao = new PersonneDao();
 
       Personne personne = personneDao.getById(new Long(1));
 
       System.out.println("personne : " + personne.getNom());
 
   }
J'ai bien ajouté une personne avec 1 comme ID.

J'ai comme erreur :
"C:\Program Files\Java\jdk1.6.0_06\bin\java" -Didea.launcher.port=7536 "-Didea.launcher.bin.path=C:\Program Files\JetBrains\IntelliJ IDEA 7.0.4\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.6.0_06\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.6.0_06\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.6.0_06\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.6.0_06\jre\lib\jce.jar;C:\Program Files\Java\jdk1.6.0_06\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.6.0_06\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.6.0_06\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.6.0_06\jre\lib\resources.jar;C:\Program Files\Java\jdk1.6.0_06\jre\lib\rt.jar;C:\Program Files\Java\jdk1.6.0_06\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.6.0_06\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.6.0_06\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.6.0_06\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.6.0_06\jre\lib\ext\sunpkcs11.jar;C:\svn\GRA\trunk\out\production\DAO;C:\svn\GRA\trunk\out\production\DataModel;C:\svn\GRA\trunk\Lib\asm.jar;C:\svn\GRA\trunk\Lib\commons-collections.jar;C:\svn\GRA\trunk\Lib\cglib.jar;C:\svn\GRA\trunk\Lib\antlr.jar;C:\svn\GRA\trunk\Lib\hibernate-annotations.jar;C:\svn\GRA\trunk\Lib\commons-logging_1.jar;C:\svn\GRA\trunk\Lib\javaee.jar;C:\svn\GRA\trunk\Lib\commons-logging.jar;C:\svn\GRA\trunk\Lib\commons-pool.jar;C:\svn\GRA\trunk\Lib;C:\svn\GRA\trunk\Lib\hibernate.jar;C:\svn\GRA\trunk\Lib\commons-dbcp.jar;C:\svn\GRA\trunk\Lib\dom4j.jar;C:\svn\GRA\trunk\Lib\spring.jar;C:\Program Files\JetBrains\IntelliJ IDEA 7.0.4\lib\junit.jar;C:\Program Files\JetBrains\IntelliJ IDEA 7.0.4\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 test.be.one.gra.dao.PersonneDaoTest

java.lang.NullPointerException
at be.one.gra.dao.PersonneDao.getById(PersonneDao.java:26)
at test.be.one.gra.dao.PersonneDaoTest.testGetById(PersonneDaoTest.java:26)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)


Process finished with exit code -1
Dans PersonneDao je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 public Personne getById(Long id) {
        return (Personne) getHibernateTemplate().get(Personne.class, id);
}
Dans daos.xml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<bean id="datasource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="org.postgresql.Driver"/>
        <property name="url" value="${database-url}"/>
        <property name="username" value="${database-user}"/>
        <property name="password" value="${database-password}"/>
    </bean>
A mon avis c'est un problème de connexion,

est ce qu'il lit bien le daos.xml ?


Est-ce que quelqu'un sait m'aider?

Merci