Je suis à l'aide de Eclipselink avec jpa. Dans ma persistance.xml, j'ai défini pour générer un fichier Create.SQL. Le fichier sera généré, mais avec ";" - séparateurs de chaque instruction SQL.
est une possibilité de définir un séparateur dans la persistance.xml ou d'une autre manière? P>
Exemple de persistance .xml: p> exemple de fichier SQL généré: p>
3 Réponses :
Si c'est une éteinte, remplacez chaque "\ n \ n" avec "; \ n \ n". Ne recommanderait pas cela comme une solution permanente si ... p>
Les tables ci-dessus ne sont que des exemples. La base de données se développera dans des projets avec de nombreux utilisateurs. Donc, c'est peu pratique pour remplacer les lampes manuellement
Le jeton utilisé pour séparer les instructions dépend du contenu de base de données utilisé. Je suppose que vous utilisez Oracle, à partir du code, il semble être le seul qui n'utilise pas un séparateur, bien que je ne sois pas sûr pourquoi.
Quel outil utilisez-vous l'exécution du script? Semble être un bug qui ";" N'EST PAS UTILISÉ POUR Oracle, veuillez enregistrer ce BU dans Eclipselink et voter pour cela. P>
Pour contourner le problème Créez votre propre sous-classe Oracleplatform et remplacer, P>
getStoredProcedureTerminationToken() { return ";" }
Bonjour, définir la propriété "EclipsElink.Target-Base de données" pour les tests n'a pas aidé. J'utilise PostgreSQL et n'a pas spécifié la propriété "EclipsElink.ink.Target-Baseware". JPA devrait définir cette valeur automatiquement à l'aide des métadonnées que JDBC fournit pour déterminer la base de données cible.
Malheureusement,
Sauvé ma journée! Ce que vous avez à faire est de créer une sous-classe d'Oracleplatform, définissez la variable protégée StoredProcoDureTerminationToken code> à
; code> et utilisez son nom qualifié pour la propriété
eclipselink.Target-base de données code>.
J'ai rencontré ce problème et j'ai résolu-le en définissant une propriété en persistance.xml. P>
Depuis ECLIPSELINK 2.6, il existe une propriété "eclipselink.ddlgen-Terminate-extrémité-instructions" que lorsqu'il est défini sur true, un délimiteur sera annexé à chaque relevé. P>
Je pense que j'utilisais la base de données H2 à cette époque. P>
Pour plus de détails, voir http: //www.eclipse.org/eclipselink/api/2.6/org/eclipse/persistence/config/persistenceUnitproperties.html P>
Cela ne semble pas fonctionner à Oracle, car Oracleplattform définit un photopédorétermination stocké de ""
@editors: merci de détruire la persistance.xml -.-