2012-09-28 1 views
0

Je dois utiliser une base de données externe dans une application non Web spring. Comment puis-je désactiver openjpa pour essayer de créer des tables d'entités? Mes entités EmailAddress et Message ont des annotations "@Entity", je ne sais pas si c'est juste.OpenJPA désactivation de la création de tables au démarrage

<persistence-unit name="myPU" transaction-type="RESOURCE_LOCAL"> 
     <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider> 
     <class>pack.EmailAddress</class> 
     <class>pack.Message</class> 
      <properties> 
       <property name="javax.persistence.jdbc.user" value="root" /> 
       <property name="javax.persistence.jdbc.password" value="root" /> 
       <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/kepsDb" /> 
       <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" /> 
       <property name="openjpa.jdbc.SynchronizeMappings" value="false"/> 
      </properties> 

     </persistence-unit> 

Répondre

2

Lire this référence

Vous pouvez configurer OpenJPA pour exécuter automatiquement l'outil de cartographie à l'exécution par la propriété de configuration openjpa.jdbc.SynchronizeMappings. L'utilisation de cette propriété vous évite d'avoir à exécuter manuellement l'outil de mappage et est destinée à être utilisée pendant les cycles de test/débogage rapides. Pour activer le mappage d'exécution automatique, vous devez d'abord répertorier toutes vos classes persistantes, comme indiqué à la Section 1, «Liste des classes persistantes». OpenJPA exécutera l'outil de mappage sur ces classes lorsque votre application obtiendra son premier EntityManager. La propriété openjpa.jdbc.SynchronizeMappings est une chaîne de plug-in (voir Section 4, "Configuration du plugin") où le nom de classe est l'action de l'outil de mappage à appeler, et les propriétés sont les propriétés JavaBean de la classe MappingTool. Ces propriétés correspondent aux longues versions des indicateurs de ligne de commande de l'outil.

Exemple 7.6. Configuration de Runtime Forward Mapping

<property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/> 
The setting above corresponds to running the following command: 

java org.apache.openjpa.jdbc.meta.MappingTool -a buildSchema -fk true 
+0

merci pour la réponse, mais dans la référence il n'y a aucune idée de désactiver openjpa pour ne pas essayer de créer des tables et de me dire qu'ils existent déjà. La référence donne un certain nombre d'exemples restreints, malheureusement pas les options que la valeur synchronizemappings peut avoir. – merveotesi

0

Retirez la propriété openjpa.jdbc.SynchronizeMappings pour votre fichier persistence.xml.

+0

il n'a pas eu cette propriété quand j'ai d'abord essayé – merveotesi

Questions connexes