假设我们有一个销售3个水果的水果商,他有3个客户。如何进行hibernate映射来跟踪交易?这是一个面试问题,我不确定如何处理多对一场景的交易?
答案 0 :(得分:1)
让我们说: 一个水果可以买一个,只有一个顾客,每个顾客可以买一个或多个水果。
在客户实体中,您应该使用@OneToMany注释List,在Fruit实体中,您应该使用@ManyToOne注释客户,这表示每个水果只能购买一个客户。
另一方面,如果你观察这样的水果对象,这很容易就是@ManyToMany关系: 餐桌水果:
| fruit_id | name | count |
---------------------------
| 1 | apple | 100 |
| 2 | orange| 200 |
| 3 | peach | 300 |
你可以说每个水果都可以买到每个顾客,每个顾客都可以买到每个水果。 使用fruit_id连接表,customer_id应该如下所示:
| fruit_id | customer_id|
-------------------------
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
| 2 | 1 |
| 2 | 2 |
| 2 | 3 |