2012-06-26 45 views
0

我的問題有點棘手,我試着讓你明白我的要求是什麼。動態生成POJO(對象模型; setter和getters)和Hibernate映射,只提供表名作爲參數

問題:我想從數據庫表中生成一個csv文件!怎麼看。

只是爲了理解的虛擬方法。

public void convertToCsv(tablename,csv_file_path_name);

場景:當表名在運行時提供時,該方法需要生成它的csv文件(表名可以是數據庫中任何可用的表),並且爲完成此任務,類需要動態生成POJO和Hibernate映射,因爲我們不能自定義由於不同表中的顏色而導致的POJO(對象模型)和hibernate映射。

表名是在運行時提供的,因此該方法需要在運行時生成POJO和hibernate映射。

回答

1

這是不可能的。 Hibernate在啓動時需要一組定義良好的實體類及其映射。但是,實際上,如果你在表級工作,只需要CSV文件中某個表的所有列,Hibernate就不是合適的工具。你應該只使用JDBC。

從表中選擇所有內容,獲取結果集元數據以瞭解列的數字類型和名稱,遍歷JDBC結果集,併爲結果集的每一行生成新的CSV行。

+0

嗯,這看起來很難,但我認爲應該有這種類型的實用工具的解決方案。 – Max