我需要檢索ResultSet
中的值以通過反射來調用構造函數。 我正在嘗試Class.cast(Object),但我總是得到一個InvalidCastException
。如何一般從ResultSet獲取值?
這是我有:
Object[] args = new Object[count];
Class<?>[] arr = co.getParameterTypes();
for(i = 0; i<args.length; i++){
args[i] = arr[i].cast(rs.getObject(i+1));
}
Object t;
try {
t = co.newInstance(args);
} catch (Exception e) {
throw new RuntimeException(e);
}
return (T)t;
合作是構造函數,RS是ResultSet
我已經有了。
你能否提供更多的上下文?該表,SQL選擇和/或「co」的類? – acdcjunior
這是爲動態代理創建通用轉換器的上下文。該轉換器會將ResultSet轉換爲他知道的域實體。我們目前正在與Northwind一起嘗試此操作,並且該表格可以是該數據庫中的任何一個。在我們的應用程序中,構造函數類可以是Northwind的任何域實體。 –
所以'co'可以有效的任何階級,這是你的意思嗎? – acdcjunior