当前使用版本(必填,否则不予处理)
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