【发布时间】:2017-10-10 09:21:27
【问题描述】:
假设我有这些表:
表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 中对其进行建模,还是应该使用不同的方法?
【问题讨论】:
-
@MdShareef 我没有在这个项目中使用 JPA。
-
您必须使用 ResultSet 中的 getXXX() 函数从 ResultSet 映射到 JAVA 对象
-
@Tuco 如果我这样做,我怎么能保持他们在上述结果中的关系?