Bonjour,
J’effectue la mise en place du tutoriel « Persistance Java 5 » de Serge Tahé. Malheureusement je rencontres plusieurs problèmes.
Mes taches de ante ne fonctionnent pas, voici le résultat du tutoriel quand la tache DLL est lancée :
Alors que lorsque je lance la tache le fichier schema.sql n’est pas écrit et le résultat en console est le suivant :
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
16 9. D DL: 10. [hibernatetool] Executing Hibernate Tool with a JPA Configuration 11. [hibernatetool] 1. task: hbm2ddl (Generates database schema) 12. [hibernatetool] drop table if exists jpa01_personne; 13. [hibernatetool] create table jpa01_personne ( 14. [hibernatetool] ID integer not null auto_increment, 15. [hibernatetool] VERSION integer not null, 16. [hibernatetool] NOM varchar(30) not null unique, 17. [hibernatetool] PRENOM varchar(30) not null, 18. [hibernatetool] DATENAISSANCE date not null, 19. [hibernatetool] MARIE bit not null, 20. [hibernatetool] NBENFANTS integer not null, 21. [hibernatetool] primary key (ID) 22. [hibernatetool] ) ENGINE=InnoDB; 23. BUILD SUCCESSFUL 24. Total time: 5 seconds
Quand j’exécute la classe InitDB voici l’erreur que j’ai en console quand le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 DDL: [hibernatetool] Executing Hibernate Tool with a JPA Configuration [hibernatetool] 1. task: hbm2ddl (Generates database schema) BUILD SUCCESSFUL Total time: 10 seconds
Si je commente le code suivant :
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
16
17
18
19
20
21
22
23
24
25
26
27 Exception in thread "main" java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: Personne is not mapped [select p from Personne p order by p.nom asc] at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:634) at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:95) at tests.InitDB.main(Unknown Source) Caused by: org.hibernate.hql.ast.QuerySyntaxException: Personne is not mapped [select p from Personne p order by p.nom asc] at org.hibernate.hql.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:158) at org.hibernate.hql.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:87) at org.hibernate.hql.ast.tree.FromClause.addFromElement(FromClause.java:70) at org.hibernate.hql.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:265) at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3056) at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:2945) at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:688) at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:544) at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:281) at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:229) at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:228) at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:160) at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111) at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77) at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56) at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72) at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133) at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112) at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623) at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:92) ... 1 more
J’ai une exception de persistance dans le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 for (Object p : em.createQuery("select p from Personne p order by p.nom asc").getResultList()) { System.out.println(p); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part em.persist(p1);J’ai bien effectuer l’importation du projet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Hibernate: delete from jpa01_personne Exception in thread "main" java.lang.IllegalArgumentException: Unknown entity: entites.Personne at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:215) at tests.InitDB.main(InitDB.java:37)
Je vous remercie d’avance.
Cordialement, Luis Parente.
Partager