当前使用版本(必填,否则不予处理)
3.3.2
该问题是如何引起的?(确定最新版也有问题再提!!!)
通用查询slectById 接收对象为数据库对应对象,我写了一个实现类 继承原生对象接收,原生类里有字段会报错。
报实现类字段映射不上
insert用实现类不报错
应该是没有验证@tablefield注解吧,好像可以优化一下
感谢大佬
重现步骤(如果有就写完整)
如上
报错信息
如上
Comment From: miemieYaho
啊?
Comment From: Nineee
啊?
就是我写了个实现类 继承原生数据库映射对象 继承类里有字段 selctById 默认带出了继承类对象 报字段对应不上 insert用继承类没问题 😂
Comment From: miemieYaho
你写个demo看看
Comment From: Nineee
你写个demo看看
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Student{
//加的字段
private String sex;
@TableId(value = "id", type = IdType.AUTO)
private String id;
@ApiModelProperty(value = "")
@TableField("name")
private String name;
@TableField("age")
private String age;
}
public void select4() {
Student student = new Student();
student.setName("test");
student.setAge("18");
//student.setSex("女");
//插入:sex有值会报数据库无sex字段;无值会插入成功
int insert = studentMapper.insert(student);
System.out.println(insert);
//查询:sex有值和无值都会报数据库无sex字段
Student student1 = studentMapper.selectById(1);
System.out.println(GsonUtil.toJson(student1));
}
试了一下是数据库对应类额外加字段会有问题,插入额外字段空值可以 查询都不行
Comment From: miemieYaho
不是数据库字段的自己加注解排除