2015-10-06 83 views
0

我有一個數據庫中,我有一個巨大的表,當我從這張表中檢索數據需要將數據拆分成幾個類(把它們想成某種類型的類別)而不是映射到表格的類。 有一個簡單的容易做到這一點?會更好地從數據庫接收所有的數據到映射到表的分類和分割嗎?簡單的方法來從數據庫拆分數據結果與java

編輯:我忘了提這個:哪一個會更有效率?

例子:

myTable 
------------------------------------------------------------------------------------------- 
id | someInt 1| some varchar[ ] | etc some cols... |Date| some other int|some other varchar 
------------------------------------------------------------------------------------------- 
^       ^    ^         ^
|______________________________|     |_____________________________________| 
     Category 1 (ClassA)          Category n(ClassN) 
+0

如果表是**巨大**,最好不要將*整個*表加載到內存中。任何其他答案都需要更多信息,例如「分裂」是什麼意思?顯示示例。爲什麼要加載它?什麼是最終目標,如果桌子太大,它不適合記憶,你會怎麼做? – Andreas

+0

@Andreas我不想從表中加載所有的數據,只需選擇一些查詢行,然後在其他Java類中拆分數據 –

回答

3

無論我使用ORM,我仍然希望保持直接映射到數據庫表的一個實體類。這基本上是一個只有getter和setter的bean,可以與你實現的任何DAO一起使用。

你談論的其他對象我會稱之爲「域對象」。這些可以包裝上面提到的實體bean(組合),並提供該實體上特定於域的視圖和操作。域與實體的這種分離也導致更多的模塊化代碼。

這還有一個好處,就是不會將您的實體bean暴露給任何想要使用您的域對象的客戶端模塊。

祝你好運!

相關問題