2017-06-21 8 views
0

j'ai une liste d'entités JPA, et je veux savoir automatiquement l'ordre utilisé pour générer le schéma de base de données, par exemple:JPA: liste d'ordre des entités en fonction des associations

  • si l'entité A a une association avec l'entité B, donc le tableau B doit être créé avant le tableau a, (je dois savoir cet ordre à des fins de synchronisation)
+0

Il n'est pas clair pourquoi vous auriez besoin de la commande. Les schémas de base de données sont créés à l'avant, une fois et une seule fois et l'ordre importe peu. Il peut créer des tables dans n'importe quel ordre aléatoire et mettre à jour les contraintes plus tard, ou tout faire en avance. Si vous voulez une commande spécifique pour DDL, je vous suggère de créer vos propres scripts DDL et de les faire exécuter par votre fournisseur si nécessaire. https://dzone.com/articles/generating-database-schemas – Chris

+0

J'ai besoin de connaître l'ordre de problème de synchronisation: J'envoie de nombreuses entités d'un serveur à un autre pour mettre à jour leurs DB, donc pendant les entités persistantes j'ai besoin de connaître le ordre de persiste pour éviter toute erreur d'intégrité. –

+0

Il ne s'agit pas de création de table ou de génération de schéma, c'est-à-dire d'ordre d'insertion/mise à jour/suppression. Ces autres serveurs devraient théoriquement utiliser la même application, et donc utiliser le même ordre, n'est-ce pas? – Chris

Répondre

0

Lorsque vous démarrez votre application, mise en veille prolongée a un comportement de vérifier les schémas existants (météo ou non ils persistent ou pas). Si les schémas sont manquants, vous devriez voir hibernate Consigner les messages de métadonnées tels que (Table Found * nom de table *) pour chaque table. Je pense que c'est ce que vous cherchez. Il génère toutes les informations sur les métadonnées chaque fois qu'il analyse votre entité, comme la table trouvée, la table créée, la table introuvable.