Site Overlay

多个微服务依赖同一个公共实体类

需求

因为业务同步需求,需要对对象进行序列化,但是在不同服务中进行序列化反序列化时出现了找不到对应的实体类的情况,即使是同样复制的一份实体类也无法使用,即便加上了serialVersionUID也无法识别成同一个实体类,所以需要一个解决方案使得多个服务可以引用同一个外部实体类

结构:在一个公共依赖dependencies模块pom中导入entity实体类模块依赖,entity实体类需要打成jar包上传私服,然后需要使用这些实体类的服务只要父类是dependencies的话就可以直接使用entity模块中的实体类。

在entity实体类中也要导入和引用类中所使用的的同样的持久层框架(我使用的jpa),标注上同样的注解如@Id,@GeneratedValue后,引用那边才能正确使用。如果还使用了比如@Convert转换器等,也要写到entity中。

在使用实体类的那个模块中还需要在启动项中添加以下注解,添加以后自身的实体类就不会被扫描,转而使用指定的类中的地方进行实体类扫描。

@EntityScan("com.xxxxx.entity")

发表评论

电子邮件地址不会被公开。 必填项已用*标注

A beliving heart is your magic My heart
Copyright © 2020 Diuut. All Rights Reserved. | Catch Vogue by Catch Themes