版本3.1.1从TABLE_INFO_CACHE获取不到TableInfo
用lambda表达式构建查询时,如.eq(PromoteDict::getDictType,dictType),传入的clazz对象和TABLE_INFO_CACHE中存放key的clazz对象不是同一个,造成
TableInfo tableInfo = TABLE_INFO_CACHE.get(ClassUtils.getUserClass(clazz));获取到的tableInfo永远为空。
把你如何使用的描述清楚
用lambda表达式构建查询时,如.eq(PromoteDict::getDictType,dictType),这时会找实体映射表信息,会调TableInfoHelper的getTableInfo(Class> clazz)方法,这里是去TABLE_INFO_CACHE缓存里根据class对象去取TableInfo,也就是
TableInfo tableInfo = TABLE_INFO_CACHE.get(ClassUtils.getUserClass(clazz));
但是由于TableInfoHelper是由RestartClassLoader加载的(本地环境使用了springboot的spring-boot-devtools),而传进来的class对象是AppClassLoader加载的,所以就算类的全类名一样,也从TABLE_INFO_CACHE缓存里拿不到TableInfo信息
那就把你的spring-boot-devtools去除掉