cyrille37 wrote:
sessionFactory = new AnnotationConfiguration().buildSessionFactory();
...
Mais du coup j'ai l'erreur :
org.hibernate.HibernateException: Hibernate Dialect must be explicitly set
J'avance à petit pas. Voilà une modif qui permet à Hibernate Annotations de trouver sa config :
AnnotationConfiguration annCfg = new AnnotationConfiguration();
// sans cette précision, AnnotationConfiguration cherche ses directives dans "/hibernate.properties" au lieu de hibernate.cfg.xml
annCfg.configure("hibernate.cfg.xml");
sessionFactory = annCfg.buildSessionFactory();
Mais comme le chemin est long, tout n'est pas gagné !
voilà t'y pas l'erreur suivante :
org.hibernate.MappingException: Unknown entity: name.cyrille.kitchenonweb.User
Et pourtant j'ai dans hibernate.cfg.xml les lignes suivantes :
<mapping package="name.cyrille.kitchenonweb" />
<mapping class="name.cyrille.kitchenonweb.User"/>
et bien sûr la classe correspondante :
package name.cyrille.kitchenonweb;
import java.io.Serializable;
import javax.persistence.*;
@org.hibernate.annotations.Entity
@org.hibernate.annotations.Table(appliesTo="users")
public class User extends Object implements Serializable {
...
}
Quelle est la solution à cette nouvelle étape ??
...
J'ai trouvé !
...
Embrouillé au début avec le problème des imports, résolu par la création d'une "Persistence Unit", j'ai nommé les tag avec un nom long :
@org.hibernate.annotations.Entity
@org.hibernate.annotations.Table(appliesTo="users")
Et la classe User n'était pas trouvée. Je corrige de cette façon :
@Entity
@Table(name="users")
Et ça fonctionne ! Ouf !
Remarquez l'attribut 'name' de @Table qui était précédemment 'appliesTo'.
En fait il ne s'agissait pas du même Tag.
Quel bordel ce JavaPourLeWeb ... La découverte est fastidieuse ...
Désolé de parler seul ;o)
Merci.
cyrille