问题的突破口在哪?
要搞清楚sttus
到底是定义在哪的。我在Idea里全局搜索了一下,没有搜索到。
但是仔细查看了一下实体类,
extends EcEntity
嗯,他还有一个父类。
点进去看一下,这个类有五个字段:createUser
、createTime
、updateUser
、updateTime
、delFlag
。
还是没有status
,别急,这个类还有个父类。
extends BaseEntity
点进去一看:
public abstract class BaseEntity implements Serializable {
@ApiModelProperty(“业务状态”)
private Integer status;
……
}
破案了,原来status
是在这儿。为什么搜不到,原来是封在了jar包里。
======================================================================
status
找到了,咱也动不了。
问问架构组同学这个字段是干什么的。
—— 有些业务数据库设计里用上了这个字段,所以抽取出来。
好吧,可是,我们用不上啊。
难道非得数据库里加上这么一个用不上的字段?
当然不用,我之前看过MP的官方文档,里面有个注解的属性我稍微还有点印象。
什么属性呢?
查一下官方文档,就是它—— @TableField(exist = false)
。
这个属性是用来干什么的呢?是用来标识实体类中的非表字段的。
在我的实体类中添加:
@TableField(exist = false)
private Integer status;
OK,问题解决。
解决问题的我红光满面,站起来,腆着肚子:
“各位老哥,过来一下。”
召集了小组的同事,把这个问题给他们一讲,豪横地说道:
“把数据库里加的字段都给我删了,都按我的来。”
同事一脸钦佩,“这个问题你是怎么想到的?”
我歪嘴一笑——“实力!”
======================================================================
好了,这个简单的小问题就处理完了。
问题很简单,也有其它不太优雅的处理方式。
但是我们小组里其它同事都没有找到问题的原因和合适的处理方式,而我找到了呢?
-
我稍微阅读过一点jdk的源码,所以不怵扒源码
-
我知道MP是我们新项目主要用的ORM框架,把官方文档过了一遍
这两个条件缺一个,我可能就没法以上面说的方式解决这个问题,而是以百度到的,数据里添加字段来解决。
写在最后
为了这次面试,也收集了很多的面试题!
以下是部分面试题截图
jdk的源码,所以不怵扒源码
- 我知道MP是我们新项目主要用的ORM框架,把官方文档过了一遍
这两个条件缺一个,我可能就没法以上面说的方式解决这个问题,而是以百度到的,数据里添加字段来解决。
写在最后
为了这次面试,也收集了很多的面试题!
以下是部分面试题截图
[外链图片转存中…(img-6j7ZFTTk-1721880910646)]