映射list <entity>休眠的Map集合

时间:2019-02-08 10:11:59

标签: java mysql spring hibernate

我有两个表,一对一映射。订单:

+---+------------+-------------+
|   |     id     |   Name      |
+---+------------+-------------+
| 1 |     1      |    Order    |
| 2 |     2      |    Order    |
| 3 |     3      |    Order    |
+---+------------+-------------+

和菜肴:

+---+------------+-------------+-------------+
|   |     id     |   Name      |  Order_id   |
+---+------------+-------------+-------------+
| 1 |     1      |    Dish     |      1      |
| 2 |     2      |    Dish     |      1      |
| 3 |     3      |    Dish     |      1      |
+---+------------+-------------+-------------+

因此,在我的订单实体中,我设法映射了具有每个菜品ID及其实体的Map Collection,但是有一种方法可以映射a中的每个order_id:

Map<Integer, List<Dish>> 

Integer是order_id,在列表中每个映射到它的菜是什么,还是有其他方法可以做到?

1 个答案:

答案 0 :(得分:0)

不明白您在说什么entity,但是对于最终结果,您可以将Joins与以下查询一起使用:

Select distinct 
t1.id, t2.name
from Orders t1
join Dishes t2
on t1.id = t2.order_id
Order by t1.id

现在将结果保存到ResultSet数据结构中,并通过迭代Map<>将其放入resultset中。