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

JSF Java Discussion :

CRUD JSF et Hibernate


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 666
    Par défaut CRUD JSF et Hibernate
    Je suis conscient de prendre beaucoup de votre temps.
    Mais ect ce que c'est comme ca qu'on enrengistre un membre sur hibernate et jsf 1.2

    Merci pour votre aide.

    Voici le managed bean membre

    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
    72
    73
    74
     
    import java.text.SimpleDateFormat;
    import java.util.Date;
     
    import org.hibernate.Session;
     
    /**
     * Membre generated by hbm2java
     */
    public class Membre implements java.io.Serializable {
     
    	private Integer id;
    	private String nom;
    	private String prenom;
    	private String speudo;
    	private String email;
    	private String sex;
    	private String naissance;
    	private Date datenaissance;
    	private String motpasse;
     
    	public Membre() {
    	}
     
    	public Membre(String nom, String prenom, String speudo, String email,
    			String sex, String naissance, Date datenaissance, String motpasse) {
    		this.nom = nom;
    		this.prenom = prenom;
    		this.speudo = speudo;
    		this.email = email;
    		this.sex = sex;
    		this.naissance = naissance;
    		this.datenaissance = datenaissance;
    		this.motpasse = motpasse;
    	}
     
     
    	public  String EnregistrerMembre() {
    		Session session = SessionFactoryUtil.getSessionFactory().getCurrentSession();
    		session.beginTransaction();
     
     
            session.beginTransaction();
     
     
    		 Membre membre = new Membre();
    		 membre.setNom(membre.getNom());
    		 membre.setPrenom(membre.getPrenom());
    	     membre.setSpeudo(membre.getSpeudo());
    	     membre.setEmail(membre.getEmail());
    	     membre.setNaissance(membre.getNaissance());
    	     membre.setSex(membre.getSex());
    	     membre.setMotpasse(membre.getMotpasse());
     
     
     
    		 System.out.print("**************************************************super*******************************************");
     
     
     
    	     SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
    			try {
    			      Date date = format.parse(membre.getNaissance());
    			      membre.setDatenaissance(date);
    			} catch (java.text.ParseException e) {
    				// TODO Auto-generated catch block
    				System.out.print("************************************************** Merde *******************************************");
    			}
     
    			session.save(membre);
     
    			session.getTransaction().commit();
    			session.close();
    			return null;
    Membre hbm
    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
     
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <!-- Generated 20 f??vr. 2013 10:10:15 by Hibernate Tools 3.4.0.CR1 -->
    <hibernate-mapping>
        <class name="Membre" table="membre" catalog="lingerie_fine">
            <id name="id" type="java.lang.Integer">
                <column name="id" />
                <generator class="increment" />
            </id>
            <property name="nom" type="string">
                <column name="nom" length="25" />
            </property>
            <property name="prenom" type="string">
                <column name="prenom" length="25" />
            </property>
            <property name="speudo" type="string">
                <column name="speudo" length="25" />
            </property>
            <property name="email" type="string">
                <column name="email" length="25" />
            </property>
            <property name="sex" type="string">
                <column name="sex" length="25" />
            </property>
            <property name="naissance" type="string">
                <column name="naissance" length="20" />
            </property>
            <property name="datenaissance" type="date">
                <column name="datenaissance" length="0" />
            </property>
            <property name="motpasse" type="string">
                <column name="motpasse" length="40" />
            </property>
        </class>
    </hibernate-mapping>

  2. #2
    Membre éclairé Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 666
    Par défaut
    j'ai lu le tutoriel jboss hibernate 3.5 traduit en francais, et je n'y arrive pas.
    ca fait cinq ans que je n'ai plus programer, si vous m'aider ca serait cool et merci pour votre aide. J'ai lue beaucoup de tutoriel mais ca traiter de jpa et jsf, et non hibernate jsf
    Je suis auto didact

    voici hibernate util
    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
     
    import org.hibernate.SessionFactory;
    import org.hibernate.cfg.Configuration;
     
    public class HibernateUtil {
     
        private static final SessionFactory sessionFactory = buildSessionFactory();
     
        private static SessionFactory buildSessionFactory() {
            try {
                // Create the SessionFactory from hibernate.cfg.xml
                return new Configuration().configure().buildSessionFactory();
            }
            catch (Throwable ex) {
                // Make sure you log the exception, as it might be swallowed
                System.err.println("Initial SessionFactory creation failed." + ex);
                throw new ExceptionInInitializerError(ex);
            }
        }
     
        public static SessionFactory getSessionFactory() {
            return sessionFactory;
        }
     
    }
    le hibernate config
    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
     
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
    <hibernate-configuration>
        <session-factory>
            <property name="hibernate.bytecode.use_reflection_optimizer">false</property>
            <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
            <property name="hibernate.connection.password">L099339R</property>
            <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/lingerie_fine</property>
            <property name="hibernate.connection.username">root</property>
            <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
            <property name="hibernate.search.autoregister_listeners">false</property>
            <property name="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
    		<property name="current_session_context_class">thread</property>
    		<property name="hibernate.show_sql">true</property>
     
            <mapping resource="Membre.hbm.xml" />
        </session-factory>
    </hibernate-configuration>
    et le Membre hbm

    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
     
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <!-- Generated 21 f??vr. 2013 14:08:23 by Hibernate Tools 3.4.0.CR1 -->
    <hibernate-mapping>
        <class name="Membre" table="membre" catalog="lingerie_fine">
            <id name="id" type="java.lang.Integer">
                <column name="id" />
                <generator class="increment" />
            </id>
            <property name="nom" type="string">
                <column name="nom" length="25" />
            </property>
            <property name="prenom" type="string">
                <column name="prenom" length="25" />
            </property>
            <property name="speudo" type="string">
                <column name="speudo" length="25" />
            </property>
            <property name="email" type="string">
                <column name="email" length="25" />
            </property>
            <property name="sex" type="string">
                <column name="sex" length="25" />
            </property>
            <property name="naissance" type="string">
                <column name="naissance" length="20" />
            </property>
            <property name="datenaissance" type="date">
                <column name="datenaissance" length="0" />
            </property>
            <property name="motpasse" type="string">
                <column name="motpasse" length="40" />
            </property>
        </class>
    </hibernate-mapping>

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Par défaut
    Bonjour,


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	 Membre membre = new Membre();
    		 membre.setNom(membre.getNom());
    		 membre.setPrenom(membre.getPrenom());
    	     membre.setSpeudo(membre.getSpeudo());
    	     membre.setEmail(membre.getEmail());
    	     membre.setNaissance(membre.getNaissance());
    	     membre.setSex(membre.getSex());
    	     membre.setMotpasse(membre.getMotpasse());
    Ce bout de code est totalement faux, ça n'a rien à voir avec Hibernate ou JSF... Tu crées un nouveau membre et tu renseignes ses infos avec lui même, c'est le loup qui se mort la queue là...

    Essai quelques chose comme ça déjà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public  String EnregistrerMembre() {
    		Session session = SessionFactoryUtil.getSessionFactory().getCurrentSession();
    		session.beginTransaction();
     
    			session.save(this);
     
    			session.getTransaction().commit();
    			session.close();
    			return null;
    Romain.

  4. #4
    Membre éclairé Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 666
    Par défaut
    La base reste desesperement vide.
    Une question pourquoi le this dans session.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public  String EnregistrerMembre() {
     
     
     
     
            Session session = SessionFactoryUtil.getSessionFactory().getCurrentSession();
    		session.beginTransaction();
     
            session.save(this);
    		session.getTransaction().commit();
    		session.close();
    		return null
    voici ma page html. index.jsp (faces)

    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
     
    <h:form>
    Nom <h:inputText value="#{membre.nom}" required="true"></h:inputText><br>
    Prenom <h:inputText value="#{membre.prenom}" required="true"></h:inputText><br>
    Speudo <h:inputText value="#{membre.speudo}" required="true"></h:inputText><br>
    Email <h:inputText value="#{membre.email}" required="true"></h:inputText><br>
     
    Date de naissance dd/mm/aaaa <h:inputText value="#{membre.datenaissance}" required="true">
    <f:convertDateTime pattern="dd/MM/yyyy"/>
    </h:inputText><br>
     
     
    Mot de passe <h:inputSecret value="#{membre.motpasse}" required="true"></h:inputSecret>
    <h:selectOneRadio value="#{membre.sex}" required="true">
    <f:selectItem itemLabel="homme" itemValue="homme" />
    <f:selectItem itemLabel="femme" itemValue="femme"/>
    </h:selectOneRadio>
    <h:commandButton action="#{membre.EnregistrerMembre}" value="Valider" />
    </h:form>
    Merci et à bientot.

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Par défaut
    Tchize t'a déjà dit que tu as un problème d'architecture : http://www.developpez.net/forums/d13...e/#post7136087

    Ta classe Membre fait tout ici... Elle est le contrôleur, elle est la présentation, et elle se charge de se sauvegarder elle même dans la base de données...

    Tu dois avoir une classe Membre qui correspond à ton formulaire, un contrôleur qui reçois ta requêtes et le membre qui provient de ton formulaire. Le contrôleur doit ensuite envoyer ce membre à la couche persistance, une classe Membre qui correspond à ton entité hibernate, un dao qui sauvegarde ton entité hibernate. Chaque objet un à un rôle tu peux pas tout mixer ensemble...

    Tu devrais suivre un tutoriel complet avec JSF en y allant pas à pas. Là tu fais beaucoup de chose sans comprendre il me semble...

    Romain.

  6. #6
    Membre éclairé Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 666
    Par défaut
    Oui, je mélange tout.
    Je vais étudier plus jsf et hibernate.

  7. #7
    Membre très actif Avatar de omarcisses
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2007
    Messages : 227
    Par défaut
    Je suis en train d'ecrire un tutoriel sur ça regarde c'est que la partie une voici

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. CRUD avec visual web jsf et hibernate
    Par samon dans le forum JSF
    Réponses: 1
    Dernier message: 17/12/2009, 14h45
  2. Réponses: 7
    Dernier message: 24/10/2007, 18h44
  3. jsf et hibernate
    Par Johana dans le forum JSF
    Réponses: 5
    Dernier message: 09/08/2007, 16h12
  4. [JSF-SPRING-HIBERNATE] Freeze . .
    Par gondek dans le forum JSF
    Réponses: 5
    Dernier message: 04/09/2006, 14h04

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