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 :

Erreur au niveau du @Entity


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Responsable Applicatif / Développeur
    Inscrit en
    Mai 2007
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Responsable Applicatif / Développeur

    Informations forums :
    Inscription : Mai 2007
    Messages : 495
    Par défaut Erreur au niveau du @Entity
    Bonjour, j'ai créé un JPA project, j'ai 2 classes : Poste et PostePK qui correspondent à une table poste qui n'a pas encore été créé.

    Dans ma classe poste au niveau du @Entity j'ai 2 messages d'erreurs :
    this class as a composite primary key, it must use and id class
    et : Table "Poste" cannot be resovled (celui là je peux le comprendre car ma table n'est pas créée mais je veux créer ma table à partir des JPA).

    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
    import java.io.Serializable;
    import java.lang.String;
    import javax.persistence.*;
     
    @Entity
    public class Poste implements Serializable {
     
     
    	@Id
    	private int id_poste;   
    	@Id
    	private String nom_poste;
    	private static final long serialVersionUID = 1L;
     
    	public Poste() {
    		super();
    	}   
    	public int getId_poste() {
    		return this.id_poste;
    	}
     
    	public void setId_poste(int id_poste) {
    		this.id_poste = id_poste;
    	}   
    	public String getNom_poste() {
    		return this.nom_poste;
    	}
     
    	public void setNom_poste(String nom_poste) {
    		this.nom_poste = nom_poste;
    	}
     
    }
    Mon persistence.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
    15
    16
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="2.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_2_0.xsd">
    	<persistence-unit name="UserManagement">
    	 <provider>    
              oracle.toplink.essentials.PersistenceProvider    
            </provider>    
    		<class>ServicesUM.Poste</class>
    		 <properties>    
              <property name="toplink.jdbc.driver" value="com.mysql.jdbc.Driver" />    
              <property name="toplink.jdbc.url" value="jdbc:mysql://localhost/xxx"/>    
              <property name="toplink.jdbc.user" value="root" />    
              <property name="toplink.jdbc.password" value="root" />    
              <property name="toplink.logging.level" value="INFO" />    
            </properties> 
    	</persistence-unit>
    </persistence>

  2. #2
    Membre très actif Avatar de supergeoffrey
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    802
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2010
    Messages : 802
    Par défaut
    Cela ne pourrais pas t'aider?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    @IdClass(PostePK.class)
    @Entity public class Poste implements Serializable
    Cf exemple 7-5 de la page http://docs.oracle.com/cd/B32110_01/...mp30cfg001.htm

  3. #3
    Membre éclairé
    Homme Profil pro
    Responsable Applicatif / Développeur
    Inscrit en
    Mai 2007
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Responsable Applicatif / Développeur

    Informations forums :
    Inscription : Mai 2007
    Messages : 495
    Par défaut
    Merci, en fait j'avais déjà testé.
    Mais le message Table "Poste" cannot be resolved reste.

    Il me met peut être ça car la table n'est pas créée mais moi je veux la créer à partir de ma classe.

    Je dois mettre un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @Id(generate=TABLE, generator="ADDRESS_TABLE_GENERATOR")
    @TableGenerator(
        name="ADDRESS_TABLE_GENERATOR", 
        tableName="EMPLOYEE_GENERATOR_TABLE", 
        pkColumnValue="ADDRESS_SEQ"
    )
    @Column(name="ADDRESS_ID")
    public Integer getId() {
        return id;
    }
    Si oui, ou dois-je le mettre?

    Merci

  4. #4
    Membre très actif Avatar de supergeoffrey
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    802
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2010
    Messages : 802
    Par défaut
    Dans ta config, tu as essayé d'ajouter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <property name="toplink.ddl-generation" value="create-tables"/>

  5. #5
    Membre éclairé
    Homme Profil pro
    Responsable Applicatif / Développeur
    Inscrit en
    Mai 2007
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Responsable Applicatif / Développeur

    Informations forums :
    Inscription : Mai 2007
    Messages : 495
    Par défaut
    Non je ne l'avais pas mis mais je viens de le rajouter.
    C'est toujours pareil.
    J'ai recréé un JPA project et j'ai encore la même erreur.
    En revanche j'arrive à créer une JPA class from tables.

  6. #6
    Membre éclairé
    Homme Profil pro
    Responsable Applicatif / Développeur
    Inscrit en
    Mai 2007
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Responsable Applicatif / Développeur

    Informations forums :
    Inscription : Mai 2007
    Messages : 495
    Par défaut
    J'ai plus ou moins contourné le problème en désactivant le JPA validator.

    Mais maintenant j'ai un problème dans mon main (qui existait certainement déjà avant.)

    No Persistence provider for EntityManager named UserManagement

    dans le main et dans mon persistence j'ai bien le même nom : UserManagement.

    Mon 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
    19
    20
    21
    22
    import javax.persistence.EntityManager;
    import javax.persistence.EntityManagerFactory;
    import javax.persistence.Persistence;
     
     
    public class testJPA {
     
     
      public static void main(String[] argv) {
     
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("UserManagement);
        EntityManager em = emf.createEntityManager();
        Poste p1 = em.find(Poste.class, 1);
        System.out.println("nom id="
            + p1.getNom_poste()
            + " "
            + p1.getId_poste());
     
        em.close();
        emf.close();
      }
    }

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/06/2007, 12h42
  2. Réponses: 11
    Dernier message: 11/11/2006, 13h20
  3. [VBA] erreur au niveau du code
    Par torNAdE dans le forum Access
    Réponses: 9
    Dernier message: 26/07/2006, 15h33
  4. [phpBB] Erreur au niveau de la base suite à mise à jour
    Par Goundy dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 05/03/2006, 15h50
  5. [EJB] Erreur au niveau de la récuperation du home
    Par ujoodha dans le forum Java EE
    Réponses: 3
    Dernier message: 05/10/2005, 14h50

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