一对多关系的数据,比如订单和订单商品,要一起显示订单和其商品信息,怎么样查询最优就像淘宝一样,每个订单(order表)对应多个商品(order_item表)时,查询订单信息必须把该订单的商品主要信息也显示出来。这个就是我们常说的一对多关系数据。
而查询时是按订单数据行分页查询,在hibernate或ibatis中都可以采用一对多关联查询查询得到结果,但都会产生N+1问题,且这个也不存在延时加载,因为一打开页面就要把订单数据和其订单商品数据都显示。
这是互联网应用,订单和商品数据量都很大,且数据都在不断递增中。
我系统现在是用ibatis的,本来这种情况是准备把order表和order_item表连接,然后用resultMap的groupby处理的,
但因为我系统中没有采用ibatis的分页PaginatedList,是自己组装sql 实现limit分页的,若采用resultMap的groupby查询,分页查询其实是对order和order_item的连接查询结果分页,不是按订单数分页查询的。
有类似产品开发经验的来说说如何处理的,大家都可以发表发表意见,共同学习。
而查询时是按订单数据行分页查询,在hibernate或ibatis中都可以采用一对多关联查询查询得到结果,但都会产生N+1问题,且这个也不存在延时加载,因为一打开页面就要把订单数据和其订单商品数据都显示。
这是互联网应用,订单和商品数据量都很大,且数据都在不断递增中。
我系统现在是用ibatis的,本来这种情况是准备把order表和order_item表连接,然后用resultMap的groupby处理的,
但因为我系统中没有采用ibatis的分页PaginatedList,是自己组装sql 实现limit分页的,若采用resultMap的groupby查询,分页查询其实是对order和order_item的连接查询结果分页,不是按订单数分页查询的。
有类似产品开发经验的来说说如何处理的,大家都可以发表发表意见,共同学习。
解决方案 »
- 无法上传文件
- 很简单的 jsp获取数据库值的问题
- ssh简单问题:调用NewsDAO里面操作数据库的方法出错
- 问个关于PDU的问题?
- 那位用struts+hibernate3.0做过分页程序呀?请进来提点一下
- struts1.2框架里的问题
- 菜鸟求救,jsp +sql server +存储过程的问题,急急急
- Flex与java通信
- ::::::如何从blob字段中读取字符串,显示在页面上![100分]
- 请问有没有自动给jsp程序自动排版的工具,就象jbuilder对java排版那样?
- 在java中实现调用.net开发的webservice??
- jfreechart饼图背景是始终为灰色,怎么改呢?
不好意思,【定期维护关系表。K,V(,,,,,,)--一个订单永远是ONE-TO-ONE 】,这个没有太明白,可否说细点,关系表中就是订单主键和商品主键两字段吗,那样也不是one-to-one
问题之一是:关联两表(order,order_item)分页查询的结果集是对笛卡尔积的结果集分页查询,而真实的分页应该是对order表的分页