java dozer 深度_java – Dozer深度映射设置为Set
免責(zé)聲明:
Mapping deep properties with intermediate collections in dozer已經(jīng)提出了同樣的問題,但沒有接受答案(我的案例沒有正確答案).
所以問題.我有一個(gè)由ComplexObject組成的領(lǐng)域,如下所示
public class ComplexObject {
private Set inner;
... //other fields, setters and getters
}
public Class AnotherComplexObject {
private String property;
... //other fields, setters and getters
}
現(xiàn)在,我將ComplexObject映射到Target,其中Target具有Set< String>屬性.
public class Target {
private Set targetString;
... //other fields, setters and getters
}
我想將每個(gè)ComplexObject inner.property映射到一個(gè)Target targetString.在語義上看起來像的東西(當(dāng)然,這不起作用,屬性不是Set和Dozer的成員生成MappingException):
ComplexObject
Target
inner.property
targetString
如果我將AnotherComplexObject的toString方法修改為,我可以實(shí)現(xiàn)我的目標(biāo)
public class AnotherComplexObject {
public String toString(){
return property;
}
}
然后,Dozer將檢測源Set是“type”AnotherComplexObject,而目標(biāo)Set是String,并將在轉(zhuǎn)換期間使用方法toString.不幸的是,這不是一個(gè)解決方案,因?yàn)槲倚枰粋€(gè)方法在我的POJO中讓Dozer進(jìn)行轉(zhuǎn)換.
編寫一個(gè)自定義轉(zhuǎn)換器是什么工作,它會(huì)覆蓋convert方法以檢查source是否為Set,然后假設(shè)集合中的對象是AnotherComplexObject并從這一點(diǎn)開始進(jìn)行轉(zhuǎn)換但不知何故我覺得這不是最好也不是更多優(yōu)雅的解決方
關(guān)于如何解決這個(gè)問題的任何其他想法?
總結(jié)
以上是生活随笔為你收集整理的java dozer 深度_java – Dozer深度映射设置为Set的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java scriptrunner_Sc
- 下一篇: java人名识别_HanLP中人名识别分