当前使用版本(必填,否则不予处理)

3.5.2

该问题是如何引起的?(确定最新版也有问题再提!!!)

自定义了MetaObjectHandler,来填充creator,createTime,然后自己在xml中写了insertList的批量插入sql,发现自定义的属性填充没有生效。经过debug发现,属性填充的时候,plus对入参做了限制,如果parameterObject这个map里面的key是list,coll,collection的时候,才会把里面的集合对象做二次处理,然后遍历填充属性。 我希望官方文档关于属性填充这一小节把这段说明加上。

重现步骤(如果有就写完整)

protected Collection getParameters(Object parameterObject) { Collection parameters = null; if (parameterObject instanceof Collection) { parameters = (Collection) parameterObject; } else if (parameterObject instanceof Map) { Map parameterMap = (Map) parameterObject; // 尝试提取参数进行填充,如果是多参数时,在使用注解时,请注意使用collection,list,array进行声明 if (parameterMap.containsKey("collection")) { parameters = (Collection) parameterMap.get("collection"); } else if (parameterMap.containsKey(Constants.COLL)) { // 兼容逻辑删除对象填充,这里的集合字段后面重构的时候应该和原生保持一致,使用collection parameters = (Collection) parameterMap.get(Constants.COLL); } else if (parameterMap.containsKey(Constants.LIST)) { parameters = (List) parameterMap.get(Constants.LIST); } else if (parameterMap.containsKey(Constants.ARRAY)) { parameters = Arrays.asList((Object[]) parameterMap.get(Constants.ARRAY)); } } return parameters; }

报错信息

.