现在数据库用户Id是string的,BladeX的BaseEntity的id是Long型的

Blade 未结 2 1169

一、该问题的重现步骤是什么?

1. 现在数据库用户Id是string的,BladeX的BaseEntity的id是Long型的,String型的id已经大量存于其它表中,怎么处理这个问题呢



二、你期待的结果是什么?实际看到的又是什么?

原用户的String id怎么移植到新系统中

回答:

单独修改User这个entity,不继承BaseEntity,把id改成string,把BaseEntity其他的字段拷贝进User就可以了。


作者追问:3小时前

如果这样,很多依赖的代码都要修改,如 BaseServiceImpl

 BaseServiceImpl<M extends BaseMapper<T>, T extends BaseEntity> extends ServiceImpl<M, T> implements BaseService<T> 

这样增删代码是不是都要重写?


2条回答
  • 2021-03-12 15:45

    方法一:定义两个baseEntity,一个id用string一个用long。

    方法二:改数据库,要么同一string,要么同一number类型。

    0 讨论(0)
  • 2021-03-12 17:18

    1.png2.png

    3.png

    自定义一个id,映射对应上就行。

    0 讨论(0)
提交回复