当前使用版本(必填,否则不予处理)

3.4.2

该问题是如何引起的?(确定最新版也有问题再提!!!)

是,切换至最新版本也确定如此

重现步骤(如果有就写完整)

  {
  "current": 1
  "pageSize": 20
  "roleName": 
  "roleCode": 
  "size": 20
  }
@TableName("base_role")
public class Role extends BaseEntity {
     public static final String ROLE_CODE = "role_code";
    @TableField(whereStrategy = FieldStrategy.NOT_EMPTY)
    private String roleCode;
     ....
}
//FieldStrategy生效
Page<Role> page = new Page();
page.setCurrent(roleVO.getCurrent());
page.setSize(roleVO.getSize());
roleVO.setIsDeleted(false);
QueryWrapper queryWrapper = new QueryWrapper(roleVO);
IPage<Role> selectPage = roleMapper.selectPage(page, queryWrapper);
///FieldStrategy失效
Page<Role> page = new Page();
page.setCurrent(roleVO.getCurrent());
page.setSize(roleVO.getSize());
roleVO.setIsDeleted(false);
 QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.likeLeft(RoleVo.ROLE_CODE,roleVO.getRoleCode());
IPage<Role> selectPage = roleMapper.selectPage(page, queryWrapper);

报错信息

前提roleCode 属性值为空或空串,正常使用QueryWrapper 时FieldStrategy.NOT_EMPTY)生效,当使用模糊查询likeLeft()时,则失效。尝试使用LambdaQueryWrapper的likeLeft(RoleVo::getRoleCode,roleVO.getRoleCode()),也失效;

Comment From: miemieYaho

该注解的这个值只生效于wrapper内的entity