Je dois tester certaines choses sur un projet qui a été développé par d'autres, mais qui est nouveau pour moi. Ils utilisent Hibernate comme une implémentation JPA.Comment puis-je tester si persistence.xml a été trouvé ou non?
J'ai une machine virtuelle dans laquelle tout est configuré, mais quand je veux démarrer un testclient (petits programmes de console, pas de désintérêt). J'ai toujours la même erreur.
Exception in thread "main" javax.persistence.PersistenceException: org.hibernate.HibernateException: Hibernate Dialect must be explicitly set
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:698)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:121)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
...
Caused by: org.hibernate.HibernateException: Hibernate Dialect must be explicitly set
at org.hibernate.dialect.DialectFactory.determineDialect(DialectFactory.java:57)
at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:39)
at org.hibernate.cfg.SettingsFactory.determineDialect(SettingsFactory.java:409)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:119)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2006)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1289)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:691)
... 7 more
La structure du projet ressemble à ceci. Étrangement j'avais déjà cette chose en cours d'exécution (avant mes summerholdays.
|-- bin
|-- lib
|-- rsc
| |-- META-INF
| | `-- persistence.xml
|-- src
| |-- org
| | | ... all sourcecode below
`-- target
J'ai essayé de cerner le problème, donc je supprimé l'ensemble dossier META-INF. Toujours la même erreur. Ce n'était pas ce que je pensais et Je ne sais pas pourquoi ils ont mis META-INF dans le dossier rsc (comme je l'ai mentionné, ce n'est pas mon projet) mais quand je l'ai mis dans le dossier racine ou Dans le dossier src, l'erreur persiste
Comment puis-je m'assurer que persistence.xml a été trouvé? Existe-t-il une documentation où META-INF doit être placé (et pourquoi cette erreur est-elle si trompeuse?)
Merci beaucoup, j'avais l'habitude d'avoir une cible de fourmis pour ça dans mes autres projets donc je n'étais plus au courant que le fichier persistence.xml doit être dans un certain endroit. (Et je me dispute toujours avec l'erreur.) – sebastiangeiger