1
我注意到,在JOOQ API中,「tableByName(」table_name「)。getPrimaryKey()」返回null。我想這是因爲在後臺沒有真正的查詢發生。是否有可能強制JOOQ API檢查表並閱讀元數據?或者這隻能通過查詢org.jooq.util.Database實例來完成?JOOQ API getPrimaryKey()對每個表返回null?
我注意到,在JOOQ API中,「tableByName(」table_name「)。getPrimaryKey()」返回null。我想這是因爲在後臺沒有真正的查詢發生。是否有可能強制JOOQ API檢查表並閱讀元數據?或者這隻能通過查詢org.jooq.util.Database實例來完成?JOOQ API getPrimaryKey()對每個表返回null?
A Table
使用DSL.tableByName()
構建的對象沒有連接到數據庫,因此即使支持它也不能動態獲取主鍵信息。
你可以,但是,通過DSLContext.meta()
.getPrimaryKeys()
獲取主鍵信息是否有列出一個特定的模式/表的主鍵更多的選擇呢? (「chembl_17」.equals(sch.getName())){ 表格> tab = sch.getTable(「protein_classification」); if(tab!= null){UniqueKey > key = tab.getPrimaryKey(); (TableField , ?> f:key.getFields()){ System.out.printf(「%s:%s%n」,f.getName(),f.getDataType()。getTypeName()); }} else {// not PK defined}}}'對不起,格式化... – user3235593
關於格式化,你可以問Stack Overflow的另一個問題:-)(因爲答案可能同樣格式不正確) –