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)
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)
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
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.
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"/>
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>
persistence.xml
<property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager