2010-02-24 14 views
2

J'essaye de faire un morceau de code en utilisant JDBC simple qui me récupère le nom de la table cible et la colonne d'une clé étrangère de une colonne spécifique dans une table spécifique, mais en passant par les interfaces de base je ne peux pas sembler trouver un moyen direct de le faire.Comment obtenir le nom de la table cible et la colonne de la colonne clé étrangère avec JDBC

Existe-t-il un moyen d'obtenir directement ces informations sur les clés étrangères via JDBC ou dois-je recourir à des requêtes de métadonnées pour une base de données spécifique, dans ce cas HSQLDB.

Si je dois utiliser les requêtes de métadonnées spécifiques à une base de données, quelles tables de métadonnées internes HSQLDB contiennent ces informations?

Répondre

1

JDBC prend en charge cette fonctionnalité. Découvrez la classe DatabaseMetaData.getCrossReference. Autres méthodes de prise en charge de DatabaseMetdata pour l'interrogation de schéma, catalogue, tables, colonnes, etc. Gardez à l'esprit que certaines bases de données nécessitent des paramètres supplémentaires sur votre URL pour activer les métadonnées (Oracle) pour optimiser les appels. Je ne sais pas si HQLSB l'exige.