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 :

Problème EJB JPA persistance méthode persist


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13
    Par défaut Problème EJB JPA persistance méthode persist
    Bonjour à tous,
    J'essaye tout simplement d'insérer un objet dans une table nommé "personnes" avec persist de JPA. L'erreur vient lors de l'invocation du persit de mon OJB local "personServiceLocal".

    Mon erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Infos: file:/C:/Users/Bastien/Documents/NetBeansProjects/test/dist/gfdeploy/test/test-ejb_jar/-test-ejbPU login successful
    Avertissement: A system exception occurred during an invocation on EJB personService method public void facade.personService.create(classes.personnes)
    javax.ejb.TransactionRolledbackLocalException: Exception thrown from bean
    Code client main :

    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
    public class Main {
        @EJB
        private static hellotestRemote hellotest;
     
     
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
            System.out.println(hellotest.sayhello());
            System.out.println("ça commence");
     
            //System.out.println(hellotest.createNewPerson("BONHOURE", "Bastien"));
            hellotest.createNewPerson("BONHOURE", "Bastien");
     
            System.out.println("c'est fini");
        }
    }
    Code EJB stateless (hellotest) :

    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
    @Stateless
    public class hellotest implements hellotestRemote {
     
        @EJB
        private personServiceLocal personService;
     
        @Override
        public String sayhello() {
            return "exars";
        }
     
        @Override
        public void createNewPerson(String nom, String prenom) {
     
            personnes person = new personnes();
            person.setNom(nom);
            person.setPrenom(prenom);
     
            personService.create(person);
     
        }
     
    }
    Code EJB local (personService) :

    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
    @Stateless(name="personService")
    @TransactionManagement(TransactionManagementType.CONTAINER)
    //@TransactionAttribute(TransactionAttributeType.MANDATORY)
    public class personService implements personServiceLocal {
     
     
        @PersistenceContext(unitName="test-ejbPU")
        private EntityManager em;
     
     
        @Override
        @TransactionAttribute(value=TransactionAttributeType.REQUIRED)
        public void create(personnes person) {
            em.persist(person);
            //System.out.println("la sauce");
        }
     
    }
    Code persistence.xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?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="test-ejbPU" transaction-type="JTA">
        <provider>oracle.toplink.essentials.PersistenceProvider</provider>
        <jta-data-source>jdbc/wsdbPool</jta-data-source>
        <exclude-unlisted-classes>false</exclude-unlisted-classes>
        <properties>
        </properties>
      </persistence-unit>
    </persistence>

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Par défaut
    Il faut que tu trouve la trace correspondant a l'exception :
    Avertissement: A system exception occurred during an invocation on EJB personService method public void facade.personService.create(classes.personnes)
    Et poste le code de ta classe Personne et la structure de la table correspondante.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13
    Par défaut
    Voici ma classe :

    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
    @Entity
    @Table(name = "personnes")
    public class personnes implements Serializable {
     
        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        @Column(name="id_person", nullable=false)
        private long id;
        @Column(name="nom")
        private String nom;
        @Column(name="prenom")
        private String prenom;
     
        public long getId() {
            return id;
        }
     
        public void setId(long id) {
            this.id = id;
        }
     
        public String getNom() {
            return nom;
        }
     
        public void setNom(String nom) {
            this.nom = nom;
        }
     
        public String getPrenom() {
            return prenom;
        }
     
        public void setPrenom(String prenom) {
            this.prenom = prenom;
        } 
     
    }

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Par défaut
    Et l'exception ?
    Ton mapping correspond-t-il bien à ta base de données?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13
    Par défaut
    Je ne comprend pas ou trouver cette exception ??

    Par contre quand je mon pool de connexion ping bien.

  6. #6
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Par défaut
    Quel serveur d'application utilises-tu ?

Discussions similaires

  1. Méthode persist avec JPA + EJB + JSF
    Par electronnne dans le forum JPA
    Réponses: 0
    Dernier message: 27/05/2012, 17h17
  2. [EJB JPA] Impossible d'utiliser la persistence
    Par ramoucho75020 dans le forum JPA
    Réponses: 1
    Dernier message: 30/03/2012, 14h34
  3. Réponses: 1
    Dernier message: 21/12/2011, 10h18
  4. Réponses: 4
    Dernier message: 13/05/2009, 15h04
  5. [EJB2.1 Entity] comment configurer un conteneur EJb pour gérer la persistance des CMP
    Par berrehouma dans le forum Java EE
    Réponses: 1
    Dernier message: 06/04/2007, 10h08

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