字典数据映射
从1.7.0版本开始,采用重新设计的字典映射方案,代替原有的继承AbstractDictionaryConverter
并配置converter
和inverseConverter
的实现方式。
“字典数据”并不特指字典表中的数据,只要是能通过Key-Value映射关系转换的数据均视为字典数据(如:航司ICAO编码和航司名称的映射)。
使用者需要实现DictDataResolver
接口,然后在字典映射字段上配置@DictMapping
注解,指定字典的key、使用的resolver、是否缓存数据以及缓存生命周期等参数。
字典映射默认开启缓存(默认生命周期60s),可以业务数据需要调整@DictMapping
配置。缓存在生命周期内无法手动失效,如果需要较高的数据一致性,建议禁用缓存,由字典数据源接口实现并管理缓存。
字典映射如果不满足唯一性反向查找(即DictDataResolver
返回的Map
中value
有重复的情况),映射字段必须配置为@Mapping(oneway = true)
(单向拷贝)防止错误的结果。
Last updated