# Java > Gnral Java > Persistance des donnes >  Hibernate, spring et sqlite

## Ja Rasta

Bonjour  tous
J'ai  un problme avec sqlite3,hibernate et spring.En fait, si je dmarre le programme et que j'appelle la mthode createType() qui permet de crer un type et qu'aprs j'appelle la mthode getAllTypes() j'ai bel et bien les valeurs de l'objet que je viens de crer qui s'affichent dans le navigateur.Mais  si je vrifie avec un "select * from type" dans ma table type pour voir si l'objet a t ajout dans ma table, j'ai aucun enregistrement.En plus,ds que je redemarre le programme et que j'appelle la mthode getAllTypes() pour consulter les donnes de ma table j'ai plus rien qui s'affiche dans mon navigateur.Encore, pour chaque dmarrage on dirait que l'ID est reinitialis puisqu'il commence  1(par exemple si aprs avoir demarr mon programme je tente d'insrer 2 objets avec la methode createType() j'ai : ID = 1 et ID = 2 qui s'affiche dans mon navigateur).Donc si mes donnes ne sont pas enregistres dans ma table o sont-ils passes? J'ai fait 2 enrgistrements manuellement dans ma table et j'arrive pas aussi  rcuprer ces 2 enregistrements avec la mthodes getAllTypes() qui est cens me renvoyer tous les enregistrements de ma table.Je me dit qu'il y a peut-tre un problme de communication entre mon programme et ma base de donnes.Merci d'avance pour vos aides.

Voil comment j'appelle mes mthodes dans le navigateurs :


```

```

application.yml



```

```

Mes dependences dans le pom.xml pour la configuration de sqlite,hibernate and spring :



```

```

Ma table type:



```

```

Mon entity  type:



```

```

Mon interface TypeService :



```

```

Mon TypeServiceImpl :



```

```

Mon TypeRepository :



```

```

Mon controlleur :



```

```

Et enfin ma classe de dmarrage :



```

```

----------


## tchize_

Pourrais-tu donner les logs de dmarrage de ton application?

Aussi, pourquoi cette dpendance  H2 dans ton pom.xml? Tu ne devrais pas en avoir besoin. Es-tu sr que ton application.yml est pris en compte? J'ai l'impression que tu fais tourner ton spring boot sur un DB h2 en mmoire.

----------


## Ja Rasta

Bonjour,




> Es-tu sr que ton application.yml est pris en compte?


Effectivement, application.yml n'est pas pris en compte puisque je viens de supprimer tous le code qu'il y a dedans et malgr a l'application fonctionne comme lorsqu'il y tait. Voici le log de dmarrage : 



```

```




> Aussi, pourquoi cette dpendance  H2 dans ton pom.xml?


En fait si je mets pas cette dpendance j'ai un problme de Dialect.Si cette dpendance n'est pas celle de sqlite pourrez-vous me dire celle  utiliser pour sqlite pour dfinir le Dialect ou une technique pour le faire?

Voici le log si je tente de dmarrer l'application sans cette dpendance : 



```

```

Merci d'avance!!!

----------


## tchize_

> Bonjour,
> 
> 
> 
> Effectivement, application.yml n'est pas pris en compte*


Ben voil o est ton problme  :;): 




> En fait si je mets pas cette dpendance j'ai un problme de Dialect.


Non ton message d'erreur ne mentionne nulle part d'histoire de dialet. Il dit juste que t'as pas dfini un DB  utiliser, donc il est pass sur le modle bae de donnes embarqu, mais n'a pas trouv de driver correspondant. Tout a c'est la consquence de ton application.yml pas pris en compte.

Alors je ne suis pas un grand utilisateur de yml, mais il me semble au vu de la doc que 

pour configurer la datasource, les cls sont 
spring.datasource.url, spring.datasource.username, spring.datasource.password et spring.datasource.driver-class-name
pour configurer jpa, les cls sont 
spring.jpa.hibernate.ddl-auto et spring.jpa.properties.*

Ce qui devrais amener plutot  la structure yml suivante:



```

```


enfin ton application.yml doit se situer dans src/main/resources

----------


## Ja Rasta

Bonjour tchize_,

Ton status d'Expert minent snior n'est vraiment pas pour rien et je profite de cette occasion pour te dire que a fait longtemps que j'ai remarqu qu' chaque fois que tu interviens dans une discussion, elle finit par avoir une solution tant que le demandeur fournit un peu d'effort.C'est vraiment important de savoir ce que l'on fait!!! 
Pour ce qui est de mon problme, j'ai remplac application.yml par application.properties dans lequel j'ai mis les proprits de configuration de la base de donnes et d'hibernate. Par ailleurs,je prcise qu'il est ncessaire de configurer la stratgie de nommage d'Hibernate que j'ai laiss par dfaut dans mon cas soit : 



```

```

Pouvez-vous peut-tre m'expliquer le mcanisme qui a permis que ma mthode d'insertion(createType()) a fonctionn avec la dependence de H2 dans mon pom.xml vu que je n'ai pas de base de donnes H2 installe sur mon ordi?

Merci beaucoup!!!

----------


## tchize_

H2 est une base de donne purement java. Tout comme SQLite, intgrer la librairie suffit  crer / interagir avec la base. En plus H2 est capable de faire des bases de donnes temporaires purement en mmoire.

----------

