当前使用版本(必填,否则不予处理) 3.4.3.4
该问题是如何引起的?(确定最新版也有问题再提!!!) 升级 mybatis 3.5.6到3.5.7 mybatis-spring 2.0.5到2.0.6 mybatis-plus 3.4.1到3.4.3.4
重现步骤(如果有就写完整)
使用com.baomidou.mybatisplus.core.mapper.BaseMapper的deleteBatchIds方法报错
batchDeleteDto.getIds()是一个List
List
for (UUID id : batchDeleteDto.getIds()) {
Test t = new Test();
t.setId(id);
testList.add(t);
}
assetMapper.deleteBatchIds(testList); // 该方法可以正常调用
assetMapper.deleteBatchIds(batchDeleteDto.getIds()); // 该方法报错,在旧版本中可以正常使用
// 从语义来说,此处应该传入一个id的list。
@Data
static class Test implements Serializable {
private UUID id;
}
报错信息
nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'id' in 'class java.util.UUID'
注
3874 看到这个issue中说3.4.3.3修复了removeByIds,问题应该是相似的。
但我看#3878这个提交中的内容不在mybatis-plus-core:3.4.3.4中 我这还是这样的 static { PRIMITIVE_WRAPPER_TYPE_MAP.put(Boolean.class, boolean.class); PRIMITIVE_WRAPPER_TYPE_MAP.put(Byte.class, byte.class); PRIMITIVE_WRAPPER_TYPE_MAP.put(Character.class, char.class); PRIMITIVE_WRAPPER_TYPE_MAP.put(Double.class, double.class); PRIMITIVE_WRAPPER_TYPE_MAP.put(Float.class, float.class); PRIMITIVE_WRAPPER_TYPE_MAP.put(Integer.class, int.class); PRIMITIVE_WRAPPER_TYPE_MAP.put(Long.class, long.class); PRIMITIVE_WRAPPER_TYPE_MAP.put(Short.class, short.class); for (Map.Entry<Class<?>, Class<?>> entry : PRIMITIVE_WRAPPER_TYPE_MAP.entrySet()) { PRIMITIVE_TYPE_TO_WRAPPER_MAP.put(entry.getValue(), entry.getKey()); } }
另
4716 这个issue还需要我提供什么内容吗?
Comment From: qmdx
麻烦升级到 3.5.3.1 测试下
Comment From: miemieYaho
private String id;