背景:
项目准备逐渐更换jpa替换成mybatis时,发现更换了实体类更换了位置之后,使用maven重新编译生成发现一直报错。
打开target目录发现包没有编译成功。
最终解决
因为实体类移动了位置,比如a.b.entity移动到了a.b.c.entity 但是项目中发现用了jpa原模型 找不到a.b.c.entity下的实体。所以报错。只要把他们注视掉,然后重新编译就能成功那些jpa原模型也会编译成功,然后把包给替换一下即可。
例子
//包名替换成你正确的包名
import *.cms.MessageEntity_;
public int recall(MessageEntity entity) {
Conditions conditions = Conditions.newInstance();
conditions.add(MessageEntity_.ID, entity.getId());
Map option = new HashMap();
//用到了jap原模型
option.put(MessageEntity_.STATUS, 2);
option.put(MessageEntity_.STATE, 0);
option.put(MessageEntity_.UPDATED_AT, new Date());
messageDao.update(option, conditions);
}
最后:找了半天错误,一直编译失败。没有看到是自己实体类更换了位置,他找不到了。