这两天做一个电商项目的时候,在查询用户的订单表时遇到了一些问题:
我的订单分为订单表和订单详细表,在查询订单时同时查询订单详细,但是查询的订单详细的时候每次都只会返回一个详细信息。
也就是一对多查询多方只返回一个。
先看一下我的订单详情表:
订单实体类,里面用集合存储了订单详情:
然后是我的resultMap:
直接上结论:
经过两天的摸索,我发现resultmap中的id字段是不能重复的(绝对不是我忘了 ,重复的字段会被mybatis自动去重,只保留相同id的第一条数据。
那么答案只有一个了,就是把resultmap中collection字段内的id改成result把重复的uuid当成一个普通字段来传输就可以了。
这也暴露出我订单详细表设计的一个问题,没有用一个连续的索引id,而是用了可重复的UUID当id用,在这里记下希望下次记得