当前使用版本(必填,否则不予处理)
mybatis-plus-core - 3.4.0
该问题是如何引起的?(确定最新版也有问题再提!!!)
扩展级联保存(sql注入),无法获取对象类型的字段
重现步骤(如果有就写完整)
我在扩展sql注入的时候,(save()级联属性保存) 发现TableInfoHelper.getAllFields 没有查出来对象类型的属性,我该如何扩展这个方法。
报错信息
Comment From: miemieYaho
propertyType
Comment From: liu098
what?
Comment From: liu098
/**
* <p>
* 获取该类的所有属性列表
* </p>
*
* @param clazz 反射类
* @return 属性集合
*/
public static List<Field> getAllFields(Class<?> clazz) {
List<Field> fieldList = ReflectionKit.getFieldList(ClassUtils.getUserClass(clazz));
return fieldList.stream()
.filter(field -> {
/* 过滤注解非表字段属性 */
TableField tableField = field.getAnnotation(TableField.class);
return (tableField == null || tableField.exist());
}).collect(toList());
} 我不想让她过滤这个
Comment From: miemieYaho
TableInfoHelper.getTableInfo
Comment From: miemieYaho
过滤哪个? tableField.exist()?
Comment From: liu098
没事了,谢谢 我自己搞混淆了, 我在实体字段后加了个exist=true
Comment From: liu098
你好,如果我用@tablefiled(exist=false) , 我要如何扩展下面这个方法(下面这个就是只取数据库字段的属性)
public static List
Comment From: liu098
我难道我必须得自己写一个TableInfoHelper类吗
Comment From: miemieYaho
不能扩展