需要对realQty进行 SUM 聚合,则新建字段pickQtySum。同时设置插入、更新策略为NEVER,设置select为false。
这个设置能保证pickQtySum只在需要聚合的时候出现在sql中(即在不设置select字段时,pickQtySum不会出现在选择列中;将getPickQtySum加入选择列时可生效)
/**
* 拣货数量
*/
private BigDecimal pickQty;
@TableField(value = "sum(pick_qty)",
insertStrategy = FieldStrategy.NEVER,
updateStrategy = FieldStrategy.NEVER,
select = false)
private BigDecimal pickQtySum;
具体执行查询时代码如下:
List<RevertBoxItems> boxItemsList = boxItemsService.lambdaQuery()
.select(
RevertBoxItems::getRtNo,
RevertBoxItems::getRtName,
RevertBoxItems::getType,
RevertBoxItems::getSpec,
RevertBoxItems::getPickQtySum)
.groupBy(
RevertBoxItems::getRtNo,
RevertBoxItems::getRtName,
RevertBoxItems::getType,
RevertBoxItems::getSpec)
.list();


本文介绍如何在Spring Boot项目中使用Lombok的注解,如@TableField,实现pickQtySum字段的SUM聚合,同时确保其仅在需要时在SQL查询中出现。通过NEVER策略和false的select属性,避免了无谓的数据加载,提高性能。
1326

被折叠的 条评论
为什么被折叠?



