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 :

(eclipse,hibernate) table non modifiée après appels jpa


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2006
    Messages
    958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 958
    Par défaut (eclipse,hibernate) table non modifiée après appels jpa
    salut,

    j'ai créé un programme J2SE qui fait des appels JPA en écriture et en lecture.
    mais si les résultats sont bons, la base de données (mysql) n'est pas modifiée...
    donc après mes appels la table est détruite.
    savez-vous comment éviter ça?

    quelques documents:

    le fichier de l'entity:
    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
    @Entity
     
    public class Persone implements Serializable {
     
     
    	@Id
    	private int Numero;
    	private String Nom;
    	private static final long serialVersionUID = 1L;
     
    	public Persone() {
    		super();
    	}   
    	public int getNumero() {
    		return this.Numero;
    	}
     
    	public void setNumero(int Numero) {
    		this.Numero = Numero;
    	}   
    	public String getNom() {
    		return this.Nom;
    	}
     
    	public void setNom(String Nom) {
    		this.Nom = Nom;
    	}
     
    }
    le fichier de 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
    23
    24
    25
    26
    public class Main {
     
    	/**
             * @param args
             */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		EntityManagerFactory factory = Persistence.createEntityManagerFactory("jpa_avec_hib");
    		EntityManager em = factory.createEntityManager();
     
    		Persone a=new Persone();
    		//a.setNumero(0);
    		a.setNom("durant");
     
    		em.persist(a);
     
    		em.getTransaction().begin();
    		em.flush();
    		em.getTransaction().commit();
     
    		Persone b=em.find(Persone.class, 0);
    		System.out.println(b.getNumero()+" / "+b.getNom());
    		em.close();
    	}
     
    }
    et 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
    17
    18
    19
    20
    <?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="jpa_avec_hib" transaction-type="RESOURCE_LOCAL">
          <provider>org.hibernate.ejb.HibernatePersistence</provider>
          <!-- <jta-data-source>java:/DefaultDS</jta-data-source>-->
          <class>Persone</class> 
          <properties>
          <property name="hibernate.archive.autodetection" value="class, hbm"/>            
          <property name="hibernate.show_sql" value="true"/>            
          <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>            
          <property name="hibernate.connection.password" value="password"/>            
          <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/jbossdb"/>            
          <property name="hibernate.connection.username" value="lolveley"/>            
          <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/>
          <!-- <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect "/> -->
          <property name="hibernate.hbm2ddl.auto" value="create"/>
          </properties>
       </persistence-unit>
    </persistence>
    A vous...

    olivier.

  2. #2
    Membre averti
    Inscrit en
    Août 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 26
    Par défaut une des property d'Hibernate
    La propriété
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <property name="hibernate.hbm2ddl.auto" value="create"/>
    ,dans ton persistence.xml, recrée à chaque fois toute la structure de ta base données et au passage toutes les tables sont vidées. A ta place j'utiliserais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <property name="hibernate.hbm2ddl.auto" value="update"/>

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2006
    Messages
    958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 958
    Par défaut
    merci pour ta réponse, depuis que j'ai posé cette question j'ai corrigé ce problème, je crois que c'était en ayant les bons jars.
    on peut par exemple consulter les tutos de Mr TAHE sur developpez.com, pour trouver ces archives.

    désolé de ne pouvoir être plus précis.

    olivier.

Discussions similaires

  1. Thread non fermé après appel fonction dans DLL
    Par colorid dans le forum Langage
    Réponses: 6
    Dernier message: 02/04/2013, 16h19
  2. Variable non modifiée après connexion$
    Par piero53 dans le forum Débuter
    Réponses: 1
    Dernier message: 19/02/2012, 00h49
  3. variable modifiée après appel de procédure
    Par Infophile dans le forum C
    Réponses: 8
    Dernier message: 18/02/2011, 21h55
  4. Réponses: 17
    Dernier message: 30/09/2010, 14h26
  5. [debutant] Hibernate : table non crée
    Par lilou77 dans le forum Hibernate
    Réponses: 10
    Dernier message: 06/01/2006, 16h32

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