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

发现个问题,在实体上使用了lombok的@Builder注解,如果不select所有字段,就会报错

@Data
@Builder
public class User {
    @TableId(value = "id",type = IdType.INPUT)
    private Long id;
    private String name;
    private Integer age;
    private String email;
}
@Test
public void selectByQueryWrapperSupper(){
    QueryWrapper<User> queryWrapper = new QueryWrapper<>();
    queryWrapper.select("id","name")
            .like("name","Billie")
            .lt("age",30);
    List<User> users = userDao.selectList(queryWrapper);
    users.forEach(System.out::println);
}

报错内容:

https://img1.sycdn.imooc.com//5d3db48d0001155e15020570.jpg

把@Builder 的注解去掉,就能正常查出来了

https://img1.sycdn.imooc.com//5d3db37b0001cf8108400189.jpg

正在回答

2 回答

找到原因了就好,没帮上你什么忙。

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

?找到原因了,是lombok的builder注解的问题。需要给加了@builder的实体手动加上无参构造函数

@Data
@Builder(toBuilder = true)
public class User {
    @TableId(value = "id",type = IdType.INPUT)
    private Long id;
    private String name;
    private Integer age;
    private String email;

    @Tolerate
    public User(){ }
}


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

举报

0/150
提交
取消

发现个问题,在实体上使用了lombok的@Builder注解,如果不select所有字段,就会报错

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