为了账号安全,请及时绑定邮箱和手机立即绑定

实体类继承了父类,使用QueryWrapper查询时,SQL能查询出来数据,但是继承的父类字段返回数据时却没有数据映射

/**
 * 基础entity
 */
@Data
public class BaseEntity implements Serializable {

    private static final long serialVersionUID=1L;

    /**
     * ID
     */
    @TableId
    public Integer id;

    /**
     * 是否删除 0: 未删除、1:已删除
     */
    @TableLogic
    @TableField(value = "is_delete")
    public Integer is_delete;

    /**
     * 创建用户ID
     */
    @NotBlank(message = "创建用户ID不能为空!")
    @TableField(value = "create_user_id")
    public Integer create_user_id;

    /**
     * 创建用户名称
     */
    @NotBlank(message = "创建用户名称不能为空!")
    @TableField(value = "create_user_name")
    public String create_user_name;

    /**
     * 创建时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @TableField(value = "create_datetime",fill = FieldFill.INSERT)
    public Date create_datetime;

    /**
     * 更新用户ID
     */
    @NotBlank(message = "更新用户ID不能为空!")
    @TableField(value = "update_user_id")
    public Integer update_user_id;

    /**
     * 更新用户名称
     */
    @NotBlank(message = "更新用户名称不能为空!")
    @TableField(value = "update_user_name")
    public String update_user_name;

    /**
     * 更新时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @TableField(value = "update_datetime",fill = FieldFill.UPDATE)
    public Date update_datetime;
}
@Data
@TableName("sys_dictionary")
@EqualsAndHashCode(callSuper = true)
public class Dictionary extends BaseEntity{

    //所属类型
    @NotBlank(message = "所属类型不能为空!")
    private String type;

    //所属类型名称
    @NotBlank(message = "所属类型名称不能为空!")
    private String name;

    //值
    @NotBlank(message = "所属类型名称不能为空!")
    private String value;

    //显示顺序
    @NotBlank(message = "显示顺序不能为空!")
    private Integer display_order;

    //描述
    @NotBlank(message = "备注不能为空!")
    private String remark;

    //是否可修改标识(0:no、1:yes)
    @NotBlank(message = "是否可修改标识不能为空!")
    private Integer is_modifiable;

    //是否有效标识(0:no、1:yes)
    @NotBlank(message = "是否有效标识不能为空!")
    private Integer is_enable;
    }
    
    controller
    @GetMapping("/getDicListByPage")
public Message getListByPage(@RequestParam Long currentPage,@RequestParam Long size,Dictionary dictionary) throws Exception {
    Message message = new Message();
    // 初始化当前页码
    if (String.valueOf(currentPage) == null || currentPage < 1) {
        currentPage = 1L;
    }
    // 查询构造器
    QueryWrapper<Dictionary> queryWrapper = new QueryWrapper<>();
    Page<Dictionary> dicList = null;
    if(Boolean.TRUE == DataUtils.isAllFieldNull(dictionary)){
        dicList = dictionaryService.page(new Page<>(currentPage, size), null);
        message.setStatus(Boolean.TRUE);
        message.setMsg(ValueConstant.SUCCESS);
        message.setData(dicList);
    }else{
        queryWrapper.like("type",dictionary.getType()).or().like("name", dictionary.getName()).or().like("value",dictionary.getValue()).or().eq("is_enable", dictionary.getIs_enable()).or().eq("is_delete",dictionary.getIs_delete()).orderByDesc("create_time");
        dicList = dictionaryService.page(new Page<>(currentPage, size), queryWrapper);
        message.setData(dicList);
    }//END IF-ELSE
    return message;
}

正在回答

1 回答

同学,我自己试验了一下,我的正常。在父类中的属性,查询后,也会映射到对象中,我使用的MP版本是3.3.1.tmp。你使用的是什么版本?

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

实体类继承了父类,使用QueryWrapper查询时,SQL能查询出来数据,但是继承的父类字段返回数据时却没有数据映射

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信