IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Web Java Discussion :

configuration et sources de données


Sujet :

Spring Web Java

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 183
    Par défaut configuration et sources de données
    Bonjour tt le monde,

    dans le fichier de configuration de spring "applicationcontaxt-hibernate.xml" est ce que je dois mettre le nom de la BD telque!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    property name="mappingResources">
     <list>
    	<value>/net/roseindia/dao/hibernate/jsf_hibernate.hbm.xml</value>
     </list>
    </property>
    ou bien le nom de chaque table dans la BD :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    property name="mappingResources">
     <list>
          <value>/net/roseindia/dao/hibernate/User.hbm.xml</value>
          <value>/net/roseindia/dao/hibernate/Ticket.hbm.xml</value>
     </list>
    </property>
    ??

    merci par avance de votre aide.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2007
    Messages : 140
    Par défaut
    Bonjour,

    Il ne s'agit pas du nom de la base données mais plutôt de fichiers de mapping d'Hiberante !!

    La configuration de la connexion à la base de données est effectuée, soit dans le fichier de config d'Hibernate, soit dans celui du contexte Spring dans le cas de l'intégration dHiberante avec Spring :

    http://static.springsource.org/sprin...#orm-hibernate

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 183
    Par défaut
    merci lucimed pour ta reponse, mais au debut j'avais une seule table "user" et le fichier de mapping hibernate "user.hbm.xml", maintenant que j'ai ajouté une autre table j'ai ajouté le mapping dans le meme fichier "user.hbm.xml" et je l'ai renommé "jsf_hibernate.hbm.xml" mais ça marche pas, l'application ne demarre pas.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2007
    Messages : 140
    Par défaut
    Pour le mapping Hibernate, tu ne dois pas modifier les fichiers existants lorsque tu rajoute une table (TableX) mais plustôt rajouter un nouveau fichier de mapping TableX.hbm.xml

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 183
    Par défaut
    oui c ça ce que j'ai fais, mais j'ajoute aussi une ligne dans le fichier de config de spring:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    property name="mappingResources">
     <list>
          <value>/net/roseindia/dao/hibernate/User.hbm.xml</value>
          <value>/net/roseindia/dao/hibernate/Ticket.hbm.xml</value>
     </list>
    </property>
    mais quand je fais l'application ne demarre pas.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2007
    Messages : 140
    Par défaut
    Dans ce cas, il faut voir s'il y a une exception et analyser pourquoi...

  7. #7
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 183
    Par défaut
    tu veux dire que cette config est correcte?

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2007
    Messages : 140
    Par défaut
    D'après ce que tu as décrit :
    - l'application fonctionne avec la table User >> Config Hibernate correcte
    - tu rajoutes une table Ticket avec son fichier de mapping : Ca ne fonctionne plus >> prolème résultant du mapping ou du code applicatif...

    Montre nous ton code et l'erreur qui s'affiche si tu veux plus d'infos.

  9. #9
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 183
    Par défaut
    j'ai ajouté 2 classes :
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
     
    import java.io.Serializable;
    import java.util.*;
     
    public class Ticket implements Serializable {
     
        /** identifier field */
        private Integer tId;
     
        /** user identifier field */
        private Integer tUser;
     
        /** date field */
        private java.util.Date tDate;
     
        /** nullable persistent field */
        private String Subject;
     
     
        /** full constructor */
        public Ticket(Integer tId, Integer tUser, Date tDate,  String tSubject) {
            this.tId = tId;
            this.tUser = tUser;
            this.Subject = tSubject;
            this.tDate = tDate; 
     
     
        }
     
        /** default constructor */
        public Ticket() {
        }
     
        /** minimal constructor */
        public Ticket(Integer tId) {
            this.tId = tId;
        }
     
        public Integer getTId() {
            return this.tId;
        }
     
        public void setTId(Integer tId) {
            this.tId = tId;
        }
     
        public Integer getTUser() {
        	return this.tUser;
        }
     
        public void setTUser(Integer tUser) {
        	this.tUser=tUser;
        }
     
        public String getSubject(String tSubject) {
        	return this.Subject;
            }
     
       public void setSubject(String tSubject) {
    	   this.Subject=tSubject;
       }
     
       public Date getTDate() {
    	   return this.tDate;
       }
     
       public void setTDate(Date tDate) {
    	   this.tDate = tDate;
       }
     
    }
    et

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
    import java.util.*;
    import java.util.regex.*;
    import javax.faces.application.FacesMessage;
    import javax.faces.context.FacesContext;
     
    public class TicketBean {
     
    	Integer tUser;
    	Date tDate;
    	String Subject;
     
     
    	public void setTUser(Integer tUser) {
    		this.tUser = tUser;
    	}
     
    	public void setTDate(Date tDate) {
    		this.tDate = tDate;
    	}
     
    	public void setSubject(String tSubject) {
    		this.Subject = tSubject;
    	}
     
    	public Integer getTUser() {
    		return tUser;
    	}
     
    	public Date getTDate() {
    		return tDate;
    	}
     
    	public String getSubject() {
    		return Subject;
    	}
     
    	public String register() throws Exception {
    	    String status = "failure";
     
    			HibernateSpringDAO dao =(HibernateSpringDAO)ServiceFinder.findBean("SpringHibernateDao");
     
    				net.roseindia.dao.hibernate.Ticket ticket = new net.roseindia.dao.hibernate.Ticket();
     
    				//Set user name
    				ticket.setTUser(getTUser());
     
     
    				//Set user Password
    				ticket.setTDate(getTDate());
     
    				//Set user Email
    				ticket.setSubject(getSubject());
     
    				dao.addTicket(ticket);
    					status = "success";
     
     
     
     
    	    return status;
    	  }
     
    }
    et le fichier ticket.hbm.xml que j'ai ajouté :
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
    		"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
     
    <hibernate-mapping auto-import="true" default-lazy="false">
     
    <class
    	name="net.roseindia.dao.hibernate.Ticket"
    	table="tticket"
    >
     
    	<id
    	   name="tId"
    	   type="java.lang.Integer"
    	   column="tId"
    	>
    	   <generator class="increment" />
    	</id>
     
    	<property
    		name="tUser"
    		type="java.lang.Integer"
    		column="tUser"
    	/>
    	<property
    		name="tDate"
    		type="java.util.Date"
    		column="tDate"
    	/>
    	<property
    		name="Subject"
    		type="java.lang.String"
    		column="Subject"
    		length="70"
    	/>
     
    </class>
    </hibernate-mapping>

    l'erreru que j'ai est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    javax.faces.el.PropertyNotFoundException: Bean: net.roseindia.dao.hibernate.TicketBean, property: Subject
    merci pour votre aide.

  10. #10
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2007
    Messages : 140
    Par défaut
    Dans ton TicketBean renomme la variable "Subject" en "subject" sinon tes accesseurs (getter/setter) ne retouvent pas la propriété et c'est ce que l'exception te dit explicitement.

    Penses aussi à respecter les règles de nommage !!

  11. #11
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2007
    Messages : 140
    Par défaut
    Penses à la renommer partout dans ton projet...

  12. #12
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 183
    Par défaut
    Bonjour lucimed, j'ai effectuer les modifs que tu m'as dis, mais le probleme que j'ai mnt c'est que si je laisse la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <value>/net/roseindia/dao/hibernate/Ticket.hbm.xml</value>
    dans le fichier de config de spring l'application ne demarre pas.

    et si je la supprime j'ai l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    org.hibernate.MappingException: Unknown entity: net.roseindia.dao.hibernate.Ticket

    je pense que ça vient de la façon d'ajout du mapping de la table ticket, j'ai essayer plusieurs façon pour faire le mapping (genre, utiliser le nom seulement du fichier sans le chemin entier ...) mais ça marche pas.

  13. #13
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 183
    Par défaut
    une question , est-il obligatoire qu'il est des relations entre les tables (one-to-many, ....) et de noté ça dans le mapping??

  14. #14
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2007
    Messages : 140
    Par défaut
    As tu bien respecté la casse pour le nom du fichier ? "Ticket.hbm.xml" et non pas "ticket.hbm.xml" ?
    Ton fichier Ticket.java se trouve bien dans le package "net.roseindia.dao.hibernate" ?

    une question , est-il obligatoire qu'il est des relations entre les tables (one-to-many, ....) et de noté ça dans le mapping??
    Concernant les relations entre les tables, ceci dépend de ce que tu veux faire fonctionnellement... si dans une classe persistente tu fais référence à une autre...
    Où est ce que tu fais du "one-to-many" dans ton code ?

    Je te conseille de lire la doc de référence d'Hibernate : http://docs.jboss.org/hibernate/core...rence/fr/html/

  15. #15
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 183
    Par défaut
    oui c bien "Ticket.hbm.xml" et le fichier Ticket.java se trouve bien dans le package "net.roseindia.dao.hibernate".

    pour les relations entre les tables jn'ai pas besoin de ça pour le moment.

    maintenant l'application ne demarre pas c ça mon pb mnt.

    merci pour ton aide lucimed.

  16. #16
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 183
    Par défaut
    si quelqu'un peut m'éclairer je serai trés reconnaissant, dès que j'ajoute cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     <value>/net/roseindia/dao/hibernate/Ticket.hbm.xml</value>
    l'application ne demarre pas, est ce qu'il faut rajouter autre chose?

    merci.

Discussions similaires

  1. [Débutant] Impossible de configurer la Source de Données d'une ListView
    Par Alexandre le Grand dans le forum Entity Framework
    Réponses: 2
    Dernier message: 10/01/2014, 13h06
  2. Réponses: 0
    Dernier message: 26/07/2012, 14h36
  3. [AC-2007] configurer une source de donnée.
    Par nawel87 dans le forum Access
    Réponses: 1
    Dernier message: 02/05/2011, 19h27
  4. [tomcat][oracle]configuration acces source de données
    Par koudjo dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 27/05/2009, 12h21
  5. Réponses: 1
    Dernier message: 05/03/2008, 22h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo