Java alibaba fastjson 的 JSONField 疑问

2017-06-03 21:11:50 +08:00
 liky88

因为项目需要,需要从老数据库迁移数据到新数据库,两个数据库的字段名都由很大的改动,需要额外嵌套一些转换逻辑。迁移没有多想,一开始以为迁移的表不多,就使用了 if else 来转换数据,但是发现之后非常不好维护。

现在就想用 JSONField 来直接把旧的数据直接匹配到新的数据实体上。但是发现出现了以下的几种情况: 老数据:
customerId,
....
....

新数据: custNo 使用老数据的 customerId custAcct 使用老数据的 customerId

@JSONField(name="customerId")
private String custNO;

@JSONField(name="customerId")
private String custAcct;

但是发现这样转化的时候,只会随意的匹配其中的一个,不知道各位大神还有没有其他解决方案

2676 次点击
所在节点    Java
3 条回复
chocotan
2017-06-03 22:31:50 +08:00
public void setCustId(String custId) {
this.custId = custId;
}

public String getCustNO() {
return custId;
}

public String getCustAcct() {
return custId;
}
reeco
2017-06-03 23:00:25 +08:00
为什么要用这种方案,你这种场景使用 dozer 不是更好
liky88
2017-06-04 00:17:43 +08:00
@reeco 请问拷贝完以后,如果我还要做一些转换的话,是否可以

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/365735

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX