java - 映射 list<Entity> hibernate 的 Map 集合

标签 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 集合,但是有没有办法将每个 order_id 映射到:

Map<Integer, List<Dish>> 

其中 Integer 是 order_id,列表中的每道菜都映射到它,或者还有其他方法吗?

最佳答案

不明白什么entity您正在谈论但对于最终结果,您可以使用带有以下查询的联接:

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 .

关于java - 映射 list<Entity> hibernate 的 Map 集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54590109/

相关文章:

java - Java 9 中的 SunPKCS11 提供程序

java - 如何在java中获取类数组的输入?

mysql - 如何在使用 Angular/Express 时处理具有多个参数的 MySQL 查询

java - @Autowired bean 在 Controller 上与@Valid 一起工作,但在 CRUD 存储库上失败

java - Hibernate - 在没有相关表的情况下引用 OneToMany

java - 从特定字节开始读取

mysql - 将多个子查询的结果合并到一个集合中

python - 可以属于几种可能模型之一的 SQLAlchemy 外键?

java - Spring安全异常

java - spring批处理,Itemwriterlistener没有注册,因此没有被调用,为什么?