比方說,我有這些表:映射SQL結果到Java模型
表A
col_a |
-----
a1
....
表B
col_b | col_c | amount
---------------------
a1 | b1 | 2.2
a1 | b2 | 4.5
表C
col_d
----
b1
b2
....
所有這些表在Java中有相關的模型。
現在我想的是以下幾點:
col_a | b2 | ....
------------
a1 | 4.5 |(from tableB.amount)
.....
查詢我現在是這樣的;
SELECT a.col_a,
SUM(CASE WHEN c.col_d = 'b1' THEN b.amount end) AS 'Kcal',
SUM(CASE WHEN c.col_d = 'b2' THEN b.amount end) AS 'Kjoule',
.... etc
FROM tableA a
LEFT JOIN tableB b ON b.col_b = a.col_a
LEFT JOIN tableC c ON b.col_c = c.col_d
GROUP BY a.col_a;
導致這樣的事情:
col_a | Kcal | Kjoule
---------------------
a1 | amount | amount
這ResulSet正是我需要的,但我不能這樣映射到我在Java中的模型。我怎樣才能使用這個ResultSet來用Java來建模呢,還是我應該用不同的方法?
喜米斯參閱以下鏈接可能會有所幫助。 [https://stackoverflow.com/questions/13012584/jpa-how-to-convert-a-native-query-result-set-to-pojo-class-collection](https://stackoverflow.com/questions/ 13012584/jpa-how-to-convert -a-native-query-result-set-pojo-class-collection) –
@MdShareef我沒有爲這個項目使用JPA。 –
您必須使用ResultSet中的getXXX()函數從ResultSet到JAVA對象進行映射 – Tuco