假设我有这些表:
表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 中对其进行建模,或者我应该使用不同的方法?
最佳答案
您可以使用您的字段创建另一个实体(模型),例如:
public class Result{
private String col;
private BigDecimal kcal;
private BigDecimal kjoule;
...
getters and setters
}
关于java - 将 SQL 结果映射到 Java 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46663072/