Espace membre :
flechePublicité

2 messages
Filtrer ok

JUnit Hibernate Acces BD

   Drivers
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>

public void testGetById() {

PersonneDao personneDao = new PersonneDao();

Personne personne = personneDao.getById(new Long(1));

System.out.println("personne : " + personne.getNom());

}

</code>


J'ai bien ajouté une personne avec 1 comme ID.

J'ai comme erreur :


<code>

"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


</code>



Dans PersonneDao je fais :


<code>

public Personne getById(Long id) {
return (Personne) getHibernateTemplate().get(Personne.class, id);
}

</code>


Dans daos.xml :

<code>

<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>

</code>


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
 
 
Et tu te connectes à quel moment à la base de données ?

hibernate est sympa car il te permet de te lier une classe à un à une table de ta base mais il ne te fait pas le café... Il faut quand meme qu'à un moment tu lui dises de lire ses fichiers de config, de se connecter puis de faire la liaison entre table et class
 
 
     
2 messages
Filtrer ok
Vous devez être connecté pour écrire un message !

BE GEEK ! Avec

flechePublicité