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

JPA Java Discussion :

Probleme entité inconnue


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 231
    Par défaut Probleme entité inconnue
    Bonjour,

    Lorsque je veux enregistrer un objet en bases, il me sort nullpointerException.

    à la ligne du persist.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ATTENTION: ACC003: Application threw an exception.
    java.lang.NullPointerException
            at fr.hh.com.session.UtilisateursBean.createUtilisateurs(UtilisateursBean.java:33)
            at applicationclient4.Main.main(Main.java:39)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public Utilisateurs createUtilisateurs(Utilisateurs user, Role role) {
           if (user == null)
                throw new ValidationException("Utilisateur  est null");
     
           // user.setMRole(role);
            em.persist(user);
     
            return user;
        }
    J'utilises netbeans glassfish mysql.

    Auriez vous une idée?

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 156
    Par défaut
    Selon l'implémentaion de JPA que tu utilises et la manière dont tu l'as configurer peut être que tu dois déclarer explicitement tes Entités dans un fichier de conf.

    Ensuite ton exemple ne marchera pas car tu ne renseigne pas l'id de ton entité sachant quelle n'est pas declarée en AUTO.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 231
    Par défaut
    Citation Envoyé par phantomass Voir le message
    Selon l'implémentaion de JPA que tu utilises et la manière dont tu l'as configurer peut être que tu dois déclarer explicitement tes Entités dans un fichier de conf.

    Ensuite ton exemple ne marchera pas car tu ne renseigne pas l'id de ton entité sachant quelle n'est pas declarée en AUTO.
    Comment déclarer explicitement mes entités dans mon fichier conf? par le noeud classe du fichier persistence.xml ?

    Je ne renseignes pas l'id? aux alentours du persist? Comment faire pour trouver l'id d un utilisateurs que je crée? la méthode find?

    Je travailles dans ce sens.

    Dans le bouquin que je travailles , il ne fait que un persist de la manière suivante:

    em.persist(customer);

    avec customer passé en paramètre

    et sinon comment déclaré en auto?

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 156
    Par défaut
    Quel implém JPA utilises tu ?

    Sinon pour l'id en mode auto, par exemple
    @Id @GeneratedValue(strategy=GenerationType.AUTO)

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 231
    Par défaut
    Citation Envoyé par phantomass Voir le message
    @Id @GeneratedValue(strategy=GenerationType.AUTO)
    C'est fait ca dans mon pojo
    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
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    package fr.hh.com.persistence;
     
    import fr.hh.com.exception.ValidationException;
    import javax.persistence.CascadeType;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.Id;
    import javax.persistence.PrePersist;
    import javax.persistence.PreUpdate;
    import javax.persistence.FetchType;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.OneToOne;
    import javax.persistence.Table;
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
     
     
    // #[regen=yes,id=DCE.7244A99D-CC04-7321-54F4-AAA965922125]
     
    // </editor-fold> 
     
    @Entity
    @Table(name = "utilisateurs")
    public class Utilisateurs  implements java.io.Serializable{//extends PersonnePhysique implements java.io.Serializable{
     
        // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
        // #[regen=yes,id=DCE.4AA88341-4466-CACB-28D4-A1755B971FE9]
        // </editor-fold> 
     
        private String login;
     
        // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
        // #[regen=yes,id=DCE.E55BE869-A37F-7104-33EA-3486E8442E47]
        // </editor-fold> 
     
        private String mdp;
     
        @Id
         @GeneratedValue(strategy = GenerationType.AUTO)
        private Long idUtilisateurs;
     
        // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
        // #[regen=yes,id=DCE.046C2A3F-4D0F-0343-CFED-6007DEE7D718]
        // </editor-fold> 
       // @OneToOne(cascade={CascadeType.ALL})
        //private Role mRole;
     
        /********************************
         *******Constructor*************
         ********************************/
        public Utilisateurs(){
            super();
        }
        public Utilisateurs(String login, String mdp){//,Role role){
            super();
            setLogin(login);
            setMdp(mdp);
            //setMRole(role);
        }
     
         /********************************
         *******Methode de verification***
         ********************************/
        @PrePersist
        @PreUpdate
        private void validateData() {
            if (login == null || "".equals(login))
                throw new ValidationException("Login  invalide");
            if (mdp == null || "".equals(mdp) || mdp.length()<6)
                throw new ValidationException("Mot de passe  invalide");
        }
     
        /********************************
         *******GETTER and SETTER********
         ********************************/
        public String getMdp() {
            return mdp;
        }
     
        public void setMdp(String mdp) {
            this.mdp = mdp;
        }
     
        public String getLogin() {
            return login;
        }
     
        public void setLogin(String login) {
            this.login = login;
        }
     
    //    public Role getMRole() {
    //        return mRole;
    //    }
    //
    //    public void setMRole(Role mRole) {
    //        this.mRole = mRole;
    //    }
     
        public Long getIdUtilisateurs() {
            return idUtilisateurs;
        }
     
        public void setIdUtilisateurs(Long idUtilisateurs) {
            this.idUtilisateurs = idUtilisateurs;
        }
     }
    Implémentation Jpa? je te fournis mon code xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
      <persistence-unit name="2hModulePU" transaction-type="JTA">
        <provider>oracle.toplink.essentials.PersistenceProvider</provider>
        <jta-data-source>2h</jta-data-source>
        <properties>
          <property name="toplink.ddl-generation" value="drop-and-create-tables"/>
          <property name="toplink.jdbc.url" value="jdbc:mysql://localhost:3306/2h"/>
          <property name="toplink.jdbc.user" value="root"/>
          <property name="toplink.jdbc.driver" value="com.mysql.jdbc.Driver"/>
          <property name="toplink.jdbc.password" value=""/>
        </properties>
      </persistence-unit>
    </persistence>
    utilisateursRemote
    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
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
     
    package fr.hh.com.session;
     
    import fr.hh.com.persistence.Role;
    import fr.hh.com.persistence.Utilisateurs;
    import javax.ejb.Remote;
     
    /**
     *
     * @author Benjamin
     */
    @Remote
    public interface UtilisateursRemote {
     
        String hello();
     
        /* creation utilisateur*/
        Utilisateurs createUtilisateurs(Utilisateurs user, Role role);
     
    }
    utilisateursBean
    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
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package fr.hh.com.session;
     
    import fr.hh.com.exception.ValidationException;
    import fr.hh.com.persistence.Role;
    import fr.hh.com.persistence.Utilisateurs;
    import javax.ejb.Stateless;
    import javax.persistence.EntityManager;
    import javax.persistence.EntityManagerFactory;
    import javax.persistence.EntityTransaction;
    import javax.persistence.Persistence;
    import javax.persistence.PersistenceContext;
     
    /**
     *
     * @author Benjamin
     */
    @Stateless
    public class UtilisateursBean implements UtilisateursRemote {
     
     
        @PersistenceContext(unitName = "2hModulePU")
        private EntityManager em =null ;
     
     
        public String hello() {
            return "Hello";
        }
     
        public Utilisateurs createUtilisateurs(Utilisateurs user, Role role) {
            if (user == null) {
                throw new ValidationException("Utilisateur  est null");
            }
     
     
            em.persist(user);
     
            return em.merge(user);
     
        }
        // Add business logic below. (Right-click in editor and choose
        // "EJB Methods > Add Business Method" or "Web Service > Add Operation")
    }

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 156
    Par défaut
    Ton UtilisateurBean est bien executé coté Serveur ?
    Il me semblait que tu l'appelais directement depuis le main

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

Discussions similaires

  1. probleme entite admin
    Par devhafid dans le forum Modélisation
    Réponses: 2
    Dernier message: 03/09/2013, 16h40
  2. Problème d'entité inconnue avec Spring/Hibernate
    Par Yann1213 dans le forum Spring Web
    Réponses: 6
    Dernier message: 08/01/2013, 12h49
  3. nom d'entité inconnu
    Par samiamiya dans le forum JPA
    Réponses: 0
    Dernier message: 16/07/2012, 12h34
  4. [Débutant] Problemes erreurs inconnues
    Par jnagone dans le forum Ruby
    Réponses: 4
    Dernier message: 23/02/2007, 00h54
  5. Probleme inconnu... [debutant]
    Par The_Zarabe dans le forum C
    Réponses: 8
    Dernier message: 27/10/2005, 19h31

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