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

Persistance des données Java Discussion :

Initier base de données


Sujet :

Persistance des données Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 36
    Points : 37
    Points
    37
    Par défaut Initier base de données
    bonjour

    Existe t il un moyen en JPA de creer la base de donnée seulement au tout premier démarrage de l'application c'est à dire quand celle la n'existe pas.
    (Je suis sous H2, TopLink eclipse)

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : Cameroun

    Informations forums :
    Inscription : Avril 2009
    Messages : 168
    Points : 122
    Points
    122
    Par défaut
    Bonjour,

    je te conseillerai de faire un tour sur l'excellent tutoriel de Serge Tahé:
    http://tahe.developpez.com/java/jpa/?page=page_3#LIII

    Bonne journée

  3. #3
    Membre confirmé Avatar de bruneltouopi
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

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

    Informations forums :
    Inscription : Janvier 2010
    Messages : 308
    Points : 466
    Points
    466
    Par défaut
    Je ne crois pas qu'il existe généralement les propriétés des différents implémentions JPA agissent sur la genération des tables.
    Par contre si tu utilises une source de données tu peux spécifier la création de la database si cette dernière n'existe pas.
    Ce qui ne me tue pas me rend plus fort.

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2008
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2008
    Messages : 88
    Points : 154
    Points
    154
    Par défaut
    Tu peut trouver le paramètre toplink.ddl-generation dans cette page http://docs.oracle.com/cd/E16439_01/...fgdepds005.htm .

    Voici un extrait :
    toplink.dll-generation: Specify what data definition language (DDL) generation action you want for your JPA entities. Valid values:
    none - do not generate DDL; no schema is generated.
    create-tables – create DDL for non-existent tables; leave existing tables unchanged (see also toplink.create-ddl-jdbc-file-name).
    drop-and-create-tables – create DDL for all tables; drop all existing tables (see also toplink.create-ddl-jdbc-file-name and toplink.drop-ddl-jdbc-file-name).
    Example: persistence.xml file

    Example:
    <property name="toplink.ddl-generation" value="create-tables"/>

  5. #5
    Membre actif
    Homme Profil pro
    Développeur Java/JavaEE
    Inscrit en
    Août 2014
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java/JavaEE

    Informations forums :
    Inscription : Août 2014
    Messages : 194
    Points : 290
    Points
    290
    Par défaut
    Bonjour,

    Je pense que JPA permet ce genre d'action à travers la balise properties là ou tu défini ton ORM puis tu met dans l'attribut "value" la stratégie que tu veux implémenté.
    JPA te permet
    1-Create-Drop : cette valeur te permet à chaque fois d'écrasé la base existante et de la créer à nouveau .
    2- Update : c'est la valeur que tu cherche . Elle garde la base tel qu'elle est. Mais attention, quand tu ajoute un nouvel attribut dans une JPA Entity, cet attribut va être ajouter dans ton schéma de la base de données mais lors de la suppression il ne va pas le supprimer.
    3-Create : je connais pas trop de détails sur ce mode à toi de le voir si tu en a besoin .
    Je te file un exemple avec JPA Hibernate :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <properties>
    			<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
     
    		</properties>

  6. #6
    Nouveau membre du Club

    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 49
    Points : 38
    Points
    38
    Billets dans le blog
    1
    Par défaut Réponse
    persistence.xml
    <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>

Discussions similaires

  1. Réponses: 41
    Dernier message: 22/03/2018, 13h46
  2. Réponses: 2
    Dernier message: 30/04/2013, 14h07
  3. Initiation aux bases de données
    Par csadda dans le forum Débuter
    Réponses: 6
    Dernier message: 02/05/2008, 18h54

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