实体类重名问题解决

一、问题背景

在进行微服务开发时,有很大几率遇到系统间的实体类相同的情况,启动时会报如下错。

Caused by: org.apache.ibatis.type.TypeException: The alias 'OrderApply' is already mapped to the value 'org.springblade.transport.entity.OrderApply'.

二、错误原因

关键在于配置文件指定别名范围过广或者没有指定,导致不同的包下出现相同的类,从而造成冲突显示上述的错误信息。

三、解决办法

  1. 一般起名的话,建议最好不要起相同的。改下相同类的名称即可。一般在单体项目都是使用本方法。
  2. 在配置文件中指定确定的包范围如org.springblade.freight.entity,这样就不会出现上面的错误。

配置文件内容:

mybatis-plus:
  type-aliases-package: org.springblade.freight.entity

type-aliases-package解释:

Mybatis别名包扫描路径,通过该属性可以给包中的类注册别名,注册后在Mapper对应的XML文件中可以直接使用类名,而不用使用全限定的类名(即XML中调用的时候不用包含包名)。

上一篇:人脸表情 - 1 - Suppressing Uncertainties for Large-Scale Facial Expression Recognition - 1 - 论文学习


下一篇:Lookup and Search Views in Model-Driven Apps