2012-08-06 65 views
2

我正在使用DBUnit創建僅包含具有正確ID的記錄的數據集。創建帶有指定記錄的DBUnit數據集

Set ids = new HashSet(); 
ids.add(new BigDecimal(34552)); 
TablesDependencyHelper.getDataset(connection, "MYTABLE", ids); 

但我得到的數據集包含此表中的所有記錄(某些相關表中的記錄)。

另外我對複合主鍵感到困惑。例如,我有ID1和ID2列作爲主鍵 - 在這種情況下如何創建數據集(僅限指定記錄)?

+0

你如何定義你的聯繫? – JamesB 2012-08-06 16:38:04

+0

連接是好的,這是肯定的。我創建JDBC連接,然後創建DBUnit連接。 – evg 2012-08-06 17:04:07

回答

1

一段時間後,我意識到,用DbUnit做到這一點的唯一方法是:

QueryDataSet queryDataSet = new QueryDataSet(connection); 
queryDataSet.addTable("MYTABLE", "SELECT * FROM MYTABLE WHERE ID=34552");