簡體   English   中英

如何使用普通JDBC獲得目標表的名稱和外鍵列的列

[英]How do I get name of the target table and column of foreign key column with plain JDBC

我正在嘗試使用純JDBC編寫一段代碼,該代碼既可以獲取目標表的名稱,又可以獲取特定表中特定列的外鍵的列,但是通過核心接口,我似乎找不到直接的做到這一點的方法。

有沒有一種方法可以直接通過JDBC獲得有關外鍵的此類信息,還是我必須求助於特定數據庫(在這種情況下為HSQLDB)的元數據查詢。

如果必須使用特定於數據庫的元數據查詢,則哪個HSQLDB內部元數據表保存該信息?

最好的選擇是Connection#getMetaData() ,它使用所有方法返回DatabaseMetaData以獲得有關所有主鍵外鍵等的信息。 但是,是否完全支持JDBC實現(請閱讀:JDBC驅動程序版本)。

JDBC確實對此提供支持。 簽出DatabaseMetaData.getCrossReference類。 DatabaseMetdata上的其他方法支持查詢架構,目錄,表,列等。請記住,某些數據庫需要URL上具有額外的參數才能打開元數據(即Oracle)以優化調用。 不知道HQLSB是否需要這樣做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM